Модель performance
зависит от способа разделения данных, и иногда модель не может обобщать.
Так вот почему нам нужна перекрестная проверка.
Cross-validation
является жизненно важным шагом в оценке модели. Это максимизирует объем данных, которые используются для обучения модели, поскольку в ходе обучения модель не только обучается, но и проверяется на всех доступных данных.
Мне интересно, должно ли [X, y] быть X_train и y_train или [X, y] должно быть
весь набор данных.
[X, y]
должен быть целым набором данных, поскольку внутренняя перекрестная проверка разделяет данные на данные training
и данные test
.
Предположим, вы используете перекрестную проверку с 5 сгибами (cv = 5).
Мы начинаем с разделения набора данных на пять групп или сгибов. Затем мы используем первый сгиб в качестве тестового набора, подбираем модель на оставшихся четырех сгибах, прогнозируем на тестовом наборе и вычисляем интересующую метрику.
Затем мы выкладываем вторую складку как набор тестов, подгоняем к оставшимся данным, прогнозируем набор тестов и вычисляем интересующую метрику.
По умолчанию функция cross_val_score()
scikit-learn использует показатель R^2
в качестве метрики выбора для регрессии.
R^2
оценка называется коэффициент детерминации.