Я пытаюсь выполнить одно горячее кодирование тривиального набора данных.
data = [['a', 'dog', 'red']
['b', 'cat', 'green']]
Каков наилучший способ предварительной обработки этих данных с помощью Scikit-Learn?
По первому инстинкту вы бы посмотрели на Scikit-Learn OneHotEncoder. Но один горячий кодер не поддерживает строки как функции; он только дискретизирует целые числа.
Итак, вы должны использовать LabelEncoder, который будет кодировать строки в целые числа. Но тогда вы должны применять кодер метки в каждом столбце и хранить каждый из этих кодов ярлыков (а также столбцы, на которые они были применены). И это кажется крайне неуклюжим.
Итак, что такое лучший способ сделать это в Scikit-Learn?
Пожалуйста, не предлагайте pandas.get_dummies. Это то, что я обычно использую в настоящее время для одного горячего кодирования. Тем не менее, он ограничен в том, что вы не можете кодировать ваш набор для обучения/тестирования отдельно.