【问题标题】:How to choose the correct class encoding approach in classification如何在分类中选择正确的类编码方式
【发布时间】:2018-10-22 03:58:24
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 您可以直接将字符串目标发送到 MLPClassifier,它会在内部使用 LabelEncoder 自动将它们转换为数字,就像 @ely 使用的那样。但是你不需要明确地做任何事情。

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


【解决方案1】:

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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 2011-05-18
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多