Обработка категориальных значений в кортежах для прогнозирования - PullRequest
0 голосов
/ 13 февраля 2020

Я создаю API с обученной моделью sklearn. Я сохранил модель в формате .joblib и загружаю ее в бэкэнд API, прежде чем делать прогнозы. Но проблема в том, что мои данные содержат категориальные столбцы, и я обучил свою модель после горячего кодирования этих категориальных столбцов с использованием метода get_dummies() в библиотеке pandas. Мой API получает JSON данные со значениями для категориальных столбцов без какой-либо кодировки. Как я должен кодировать кортеж, который должен быть предсказан, прежде чем передать его через модель? Кто-нибудь может мне помочь с этим? Спасибо.

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

До:

Index(['age', 'sex', 'cp', 'trestbps', 'chol', 'fbs', 'restecg', 'thalach',
       'exang', 'oldpeak', 'slope', 'ca', 'thal'],
      dtype='object')

После:

Index(['age', 'sex', 'trestbps', 'chol', 'fbs', 'restecg', 'thalach', 'exang','oldpeak', 'ca', 'cp_0', 'cp_1', 'cp_2', 'cp_3', 'thal_0',
       'thal_1', 'thal_2', 'thal_3', 'slope_0', 'slope_1', 'slope_2'],
      dtype='object')

1 Ответ

0 голосов
/ 13 февраля 2020

Попробуйте это после того, как ваши get_dummies по прогнозу

df.reindex(columns=features, fill_value=0)

, где features - это имя списка функций

...