Обработка категорийных меток классов для scikit-learn MLPClassifier - PullRequest
0 голосов
/ 04 июня 2018

У меня есть рукописный набор данных для целей классификации, где классы от a-z.Если я хочу использовать MLPClassifier , я думаю, что не могу использовать такие категориальные классы напрямую, потому что реализация MLP в scikit-learn обрабатывает только числовые классы.Итак, что нужно сделать здесь?Как насчет преобразования этих классов в 1-28, имеет ли это смысл?Если нет, то предоставляет ли scikit-learn специальный механизм кодирования для меток классов, чтобы справиться с этим случаем (я полагаю, одноразовое кодирование здесь не вариант)?

Спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Может потребоваться предварительная обработка данных, поскольку scikit-learn обрабатывает только числовые значения.В этом случае я хотел предсказать валюту транзакции.Валюта выражена в коде ISO, поэтому LabelEncoder использовался для преобразования ее в числовые категории (например: 1, 2, 3 ...):

#Import the object LabelEncoder
from sklearn.preprocessing import LabelEncoder

#defining class column
my_encoder = LabelEncoder()
my_class_currency = np.array(my_encoder.fit_transform(my_data['currency'])).reshape(-1,1)
#Create a "diccionary" to translate the categories into the actual values once you have the output
my_class_decoder = list(np.unique(my_data['currency']))
...