Как правильно выбрать подход кодирования классов в классификации - PullRequest
0 голосов
/ 11 мая 2018

Я хочу выполнить классификацию, используя scikit-learn MLPClassifier , используя набор данных активности, где метка класса может быть одним из следующих случаев:

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

Я не уверен, какая кодировка меткиподход будет лучшим здесь: LabelEncoder или LabelBinarizer .Я думаю, что LabelEncoder будет достаточно, поскольку он будет представлять каждый случай, используя одно целочисленное значение от 1 до n, но я хотел бы знать, является ли мое решение разумным.

Спасибо

1 Ответ

0 голосов
/ 11 мая 2018

LabelEncoder будет работать для вашего варианта использования, используя целые числа от 0 до 4 для идентификаторов классов:

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