несоответствие между загруженной моделью и данными для прогнозирования - PullRequest
0 голосов
/ 01 сентября 2018

Я видел много вопросов по этой теме, но не смог найти четкого ответа для решения моей проблемы: Я сохраняю модель со следующим кодом:

clf = SVC(gamma=1,C=1)
clf.fit(X_train,y_train)
# save the model to disk
filename = 'finalized_model.sav'
pickle.dump(clf, open(filename, 'wb'))

Затем я загружаю его другим файлом:

# load the model from disk
fname = 'finalized_model.sav'
clf = pickle.load(open(fname, 'rb'))
y_pred = clf.predict(df_live)

Я получаю эту ошибку:

ValueError: X.shape [1] = 22 должно быть равно 26, число особенности во время тренировки

когда я готовлю данные, я использую:

df_dummies = pd.get_dummies(df)

и причина, по которой я получаю больше функций, заключается в том, что обучающие данные намного больше, чем прогнозируемые данные и, следовательно, более классифицированные функции.

Мой вопрос: каков наилучший способ сделать количество функций даже без ущерба для модели?

Спасибо

1 Ответ

0 голосов
/ 01 сентября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...