Существует ли прямой подход к использованию модели обученного машинного обучения для нового набора данных в Python - PullRequest
0 голосов
/ 12 апреля 2020

Я замечаю похожие вопросы по этой теме c при поиске в Интернете; однако большинство ответов указывают на генерирование случайных данных, чтобы объяснить подход к жизнеспособному решению, и, похоже, не объясняют того, что я пытаюсь понять в Python, sklearn, LogisticRegression.

Я пытаюсь изучить и понять прогноз модели машинного обучения. Я посетил Kaggle и загрузил данные Titani c, чтобы поиграть и построить модель прогнозирования Survive. Мне удалось построить регрессию Logisti c для обучения моей модели и сохранить ее для дальнейшего использования.

from sklearn.linear_model import LogisticRegression

X_train, X_test, y_train, y_test = train_test_split(data_train[['Sex', 'Pclass', 'Age','Relatives', 'Fare']], data_train.Survived, test_size=0.33, random_state=0)
# print(X_train.shape)
clf = LogisticRegression(random_state=0).fit(X_train, y_train)

# save the model to disk with JobLib
filename = 'final_model_Joblib.sav'
joblib.dump(clf, filename)

Я хотел бы использовать эту модель в новом наборе данных Tatani c, пытаясь предсказывать выживание, которого нет в этом новом наборе данных.

Как бы я go об импорте моей обученной модели в этот новый набор данных Titani c, чтобы сделать прогноз, где X_test и y_test представлять мои новые данные Titani c без данных о выживании?

# load the model from disk
loaded_model = joblib.load(filename)
result = loaded_model.score(X_test, y_test)
print(result)

1 Ответ

2 голосов
/ 12 апреля 2020

Итак, вся цель обучения модели состоит в том, чтобы прогнозировать невидимые данные, учитывая, что функции и классовое распределение функций совпадают в ваших данных обучения или невидимых данных. Как только вы выгрузите модель с помощью joblib или pickle, она сериализует модель (преобразует в python объект потока байтов), и если вы загрузите ее, вы получите тот же объект обратно. Вы можете использовать загруженный_модель.predict (x) в соответствии с документами sklearn, чтобы найти прогноз класса по невидимым данным или функцию оценки, чтобы получить показатель точности вашей модели. для получения дополнительной информации вы можете проверить это - https://www.geeksforgeeks.org/saving-a-machine-learning-model/. Надеюсь, что это ответ на ваш вопрос.

...