我想使用 scikit-learn MLPClassifier 使用事件数据集执行分类,其中类标签可能是以下情况之一:

[‘Walk’, ‘Stand’, ‘Run’, ‘Jump’, ‘null’]

我不确定哪种标签编码方法在这里最好: LabelEncoderLabelBinarizer 。我认为 LabelEncoder 就足够了,因为它将使用从 1n 的单个整数值表示每种情况,但我想知道我的决定是否合理。

谢谢

最佳答案

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/

10-12 16:38