В кадре данных меньше строк после одного горячего кодирования - PullRequest
1 голос
/ 21 марта 2020

У меня есть набор данных, который я бы хотел горячо кодировать, используя sklearn.preprocessing.OneHotEncoder . Моя проблема в том, что после кодирования результат содержит меньше строк, чем исходный набор данных (разница 5). Вот мой код:

one_hot_encoder = OneHotEncoder(handle_unknown='ignore', sparse=False)
X_cat = pd.DataFrame(
            one_hot_encoder.fit_transform(X[categorical_vars]),
            columns=one_hot_encoder.get_feature_names(categorical_vars)
)

Спасибо за любые советы заранее. :)

1 Ответ

0 голосов
/ 21 марта 2020

Я думаю, вы получаете меньше выходных столбцов, потому что у вас есть некоторые неизвестные категориальные особенности. Поскольку вы устанавливаете ключевое слово handle_unknown как игнорируемое, эти столбцы пропускаются.

Если вы дадите мне некоторые из ваших образцов данных, я могу проверить их для вас и дать вам лучшее объяснение. В противном случае я могу посоветовать вам прочитать этот пост . Это хорошо объясняет цель ключевого слова handle_unknown и почему и когда его использовать.

...