处理scikit-learn MLPClassifier的分类类标签

时间:2018-06-04 01:29:05

标签: machine-learning scikit-learn neural-network multilabel-classification

我有一个用于分类目的的手写数据集,其中的类来自a-z。如果我想使用MLPClassifier,我想我不能直接使用这样的分类类,因为scikit-learn中的MLP实现只处理数值类。那么,这里有什么适当的行动呢?如何将这些类转换为1-28编号,是否有意义?如果没有,scikit-learn是否为类标签提供了特殊的编码机制来处理这种情况(我想这里没有一个热编码选项)?

谢谢

1 个答案:

答案 0 :(得分:1)

您可能需要预处理数据,因为scikit-learn仅处理数值。在这种情况下,我想预测交易的货币。货币用ISO代码表示,因此LabelEncoder用于将其转换为数字类别(即:1,2,3 ......):

#Import the object LabelEncoder
from sklearn.preprocessing import LabelEncoder

#defining class column
my_encoder = LabelEncoder()
my_class_currency = np.array(my_encoder.fit_transform(my_data['currency'])).reshape(-1,1)
#Create a "diccionary" to translate the categories into the actual values once you have the output
my_class_decoder = list(np.unique(my_data['currency']))