Я хотел бы знать, как мне справиться со следующей ситуацией:
У меня есть набор данных, который мне нужно проанализировать. Он помечен как данные, и мне нужно выполнить над ним задачу классификации. Некоторые функции являются числовыми, а другие категориальными (неординарными), и моя проблема в том, что я не знаю, как я могу справиться с категориальными.
Перед классификацией я обычно применяю MinMaxScaler. Но я не могу сделать это в этом конкретном наборе данных из-за категорических особенностей.
Я читал о one-hot encoding
, но я не понимаю, как применить его к моему случаю, потому что мой набор данных имеетнекоторые числовые функции и 10 категориальных функций, а также горячее кодирование генерируют больше столбцов в кадре данных, и я не знаю, как мне нужно подготовить результирующий кадр данных для отправки его в классификатор дерева решений.
Чтобы прояснить ситуацию, я использую следующий код:
y = df.class
X = df.drop(['class'] , axis=1)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X = scaler.fit_transform(X)
# call DecisionTree classifier
Когда df
имеет категорические особенности, я получаю следующую ошибку: TypeError: data type not understood
,Итак, если я применяю one-hot encoding
, я получаю фрейм данных со многими столбцами, и я не знаю, сможет ли классификатор SolutionTree понять реальную ситуацию с моими данными. Я имею в виду, как я могу выразить классификатору, что группа столбцов принадлежит определенной функции? Я неправильно понимаю всю ситуацию? Извините, если это запутанный вопрос, но я новичок, и я не совсем понял, как с этим справиться.