Существует три варианта кодирования меток, которые я изучил.
Удаление столбцов с категориальными данными Начните с этого, если не так много категориальных переменных.
Кодировка метки Эта вторая возможность преобразует ваши значения внапример, числовые: ['вторник', 'большинство', 'три'] до [1,2,3]. Но здесь, если вы уже разделили свои данные для обучения и проверки просьб, проверьте, не совпадают ли ваши уникальные значения в данных испытаний и данных обучения.
# Apply label encoder
encoderlab = LabelEncoder()
for col in cols:
label_X_train[col] = encoderlab.fit_transform(label_X_train[col])
label_X_valid[col] = encoderlab.transform(label_X_valid[col])
Кодирование в одно касание Эта третья возможность для каждого столбца с категориальными данными проверить количество уникальных значений в столбце. если существует много уникальных значений больше 10, то лучше метка, чтобы кодировать их , а другие с менее чем 10 уникальными значениями, одно горячее кодировать их.
oh_encod = OneHotEncoder(handle_unknown='ignore', sparse=False)
OH_X_train = pd.DataFrame(oh_encod.fit_transform(X_train[low_cardinality_cols]))
OH_X_valid = pd.DataFrame(oh_encod.transform(X_valid[low_cardinality_cols]))
Подробнее об обработке Kaggle -категориальные переменные (подробности об упражнениях) или категориальные переменные