我想使用 scikit-learn MLPClassifier 使用事件数据集执行分类,其中类标签可能是以下情况之一:
[‘Walk’, ‘Stand’, ‘Run’, ‘Jump’, ‘null’]
我不确定哪种标签编码方法在这里最好: LabelEncoder 或 LabelBinarizer 。我认为
LabelEncoder
就足够了,因为它将使用从 1
到 n
的单个整数值表示每种情况,但我想知道我的决定是否合理。谢谢
最佳答案
LabelEncoder
将适用于您的用例,使用整数 0 到 4 作为类 ID:
In [15]: from sklearn.preprocessing import LabelEncoder
In [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')
关于machine-learning - 分类中如何选择正确的类编码方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50297313/