Внедрение перекрестной проверки - PullRequest
0 голосов
/ 14 февраля 2020

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

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

from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import KFold

model= GradientBoostingClassifier(n_estimators= 10,max_depth = 10, random_state = 0)#sepcifying the model
cv = KFold(n_splits=5, shuffle=True)


from sklearn.model_selection import cross_val_predict
from sklearn.model_selection import cross_val_score

#X -the whole dataset
#y - the whole dataset but target attributes only

y_pred = cross_val_predict(model, X, y, cv=cv)
scores = cross_val_score(model, X, y, cv=cv)

1 Ответ

1 голос
/ 14 февраля 2020

Вы need to have a test set для оценки производительности на совершенно невидимых данных даже для перекрестной проверки. На этом тестовом наборе не следует выполнять настройку производительности, чтобы избежать data leakage.

Разделение данных на два сегмента: тренировка и тестирование. Существуют различные методы CV, такие как K-Fold, Straified K-Fold и др. c. Визуализация и дополнительные материалы для чтения здесь,

https://scikit-learn.org/stable/auto_examples/model_selection/plot_cv_indices.html

https://scikit-learn.org/stable/auto_examples/model_selection/plot_nested_cross_validation_iris.html

In K-Fold CV данные обучения CV делится на K sets. Затем для каждого сгиба обучается K-1 сгиба, а оставшийся используется для оценки производительности.

Изображение и дополнительные сведения о перекрестной проверке, обучении / проверке / разделении теста и т. Д. c. можно найти здесь.

https://scikit-learn.org/stable/modules/cross_validation.html

enter image description here

Визуализация перекрестной проверки K-Fold для 3 classes,

enter image description here

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