Это нельзя сделать вручную или обработать алгоритмом дерева решений, передавая некоторые параметры.
Примечание : Самая большая работа по машинному обучению или другим смежным областям - это не фактический алгоритм, а сбор и предварительная обработка данных. Следовательно, вы действительно не можете сойти с рук с этими вещами или ожидать, что функции справятся с ними самостоятельно.
Вам необходимо преобразовать строку в соответствующую цифру (например, отображение), для которой можно использовать горячее кодирование. Вышеупомянутый вызов функции DecisionTree
не может сделать это за вас, однако есть функции предварительной обработки, которые помогут вам достичь того же.
(Причина этого заключается в том, что многие вычисления в фоновом режиме требуют значительных вычислений и идентификаторов. Строки занимают дополнительную память, замедляя вычисления - следовательно, намного быстрее использовать целые числа.)
Вы также можете написать свое, если это важно. Проверьте Функция горячего кодирования от sklearn
Некоторая дополнительная информация
Еще один способ повысить эффективность кодирования одним алгоритмом и ваш алгоритм - использовать разреженных матриц. Так как наборы данных могут быть интенсивными и огромными, разреженные матрицы просто как бы «заархивируют» ваш кодированный массив с «горячей» записью, чтобы он мог эффективно храниться в памяти.