我想使用scikit-learn的MLPClassifier对活动数据集进行分类,其中类标签可能是以下情况之一:
[‘Walk’, ‘Stand’, ‘Run’, ‘Jump’, ‘null’]
我不确定这里哪种标签编码方法最佳:LabelEncoder还是LabelBinarizer。我认为LabelEncoder
就足够了,因为它会用从1
到n
的单个整数值来表示每个情况,但我希望知道我的决定是否合理。
谢谢
回答:
LabelEncoder
适用于你的用例,它会使用0到4的整数作为类ID:
In [15]: from sklearn.preprocessing import LabelEncoderIn [16]: le = LabelEncoder()In [17]: le.fit(['Walk', 'Stand', 'Run', 'Jump', 'null'])Out[17]: LabelEncoder()In [18]: le.classes_Out[18]: array(['Jump', 'Run', 'Stand', 'Walk', 'null'], dtype='<U5')In [19]: le.transform(['null', 'Run', 'Jump'])Out[19]: array([4, 1, 0])In [20]: le.inverse_transform([4, 1, 0])Out[20]: array(['null', 'Run', 'Jump'], dtype='<U5')