Проблема машинного обучения с категориальными переменными get_dummies () - PullRequest
0 голосов
/ 03 мая 2020

Я надеюсь, что кто-то сможет помочь.

У меня есть кадр данных, который выглядит следующим образом:

Страна Категория Продолжительность Успех

X = [Страна, категория, Продолжительность] y = [Успешно]

У меня есть 3 страны (ГЕРМАНИЯ, ФРАНЦИЯ, ИТАЛИЯ в моем учебном наборе

после преобразования категориальных переменных в манекены с использованием:

 X = pd.get_dummies(X, columns=['COUNTRY','CATEGORY'])

У меня есть X-кадр данных, который выглядит следующим образом:

Country_GERMANY Country_FRANCE Country_ITALY Категория Продолжительность ...

после обучения я сохраняю модель, используя

joblib.dump(classifier,'csv_final_results/model_classification_joblib')

Далее, когда я получить мою модель (с помощью joblib.load) и запустить ее на наборе, состоящем из нескольких строк, но с одной страной ИТАЛИЯ (после запуска get_dummies ...)

У меня есть новый X, который выглядит следующим образом:

Country_ITALY Категория Продолжительность ...

при прогнозировании y_predict =loadedmodel.predict (X), у меня есть ошибка, говорящая о том, что размер обучающего набора был другим.

У меня вопрос, мы обязаны всегда предоставлять набор прогнозировать с тем же числом вариаций для категориальных переменных, которые были в обучающем наборе?

Как здесь, 3 для страны в обучающем наборе и 1 в новом наборе для предсказания.

Что я должен сделать, чтобы избежать такой ловушки?

Я надеюсь, что это было ясно.

Спасибо и будьте в безопасности

...