Что делать, если у нас несколько категориальных столбцов мультикласса? - PullRequest
0 голосов
/ 12 июня 2019

Если набор данных имеет несколько категориальных значений, нужно ли выполнять OneHotEncoding для всех категориальных данных, а затем как устранить проблему фиктивной переменной.

1 Ответ

0 голосов
/ 12 июня 2019

Из вашего вопроса не ясно, чего вы пытаетесь достичь.Обычно в машинном обучении вы можете выполнять кодирование одной меткой или кодирование метки, но вам необходимо кодировать категориальные значения, прежде чем передавать их в моделирование.

IMO, кодирование меток проще и может помочь в классических регрессиях / классификациях и OnehotКодировка может быть использована, когда вы планируете применить глубокое обучение.Дополнительные обсуждения по адресу: https://datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor

Сказав, что вы можете сделать кодировку метки следующим образом:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
numeric_cols = model_data_df._get_numeric_data().columns
for col in list(set(model_data_df.columns) - set(numeric_cols)):
        model_data_df[col] = le.fit_transform(model_data_df[col].astype(str))
...