использовал DictVectorizer от Scikit для создания векторного элемента
X = dataset.drop('Tag', axis=1)
v = DictVectorizer(sparse=False)
X = v.fit_transform(X.to_dict('records'))
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.33, random_state=0)
classes = np.unique(y)
classes = classes.tolist()
per = Perceptron(verbose=10, n_jobs=-1, max_iter=5)
per.partial_fit(X_train, y_train, classes)
joblib.dump(per, 'saved_model.pkl')
и сохранить тринную модель в файл.
загрузить модель в другой файл для новой даты
new_X=df
v = DictVectorizer(sparse=False)
new_X = v.fit_transform(new_X.to_dict('records'))
#Load model
per_load = joblib.load('saved_model2.pkl')
per_load.predict(new_X)
Я пытаюсь предсказать новые данные. Когда я выполняю этот код, вывод
Ошибка значения
ValueError: X имеет 43 функции на выборку; ожидая 983
Как сохранить модель?