Перекрестная проверка: функция cross_val_score из аргументов scikit-learn - PullRequest
0 голосов
/ 04 мая 2018

В соответствии с DOC scikit-learn

sklearn.model_selection.cross_val_score (оценщик, X, y = Нет, groups = None, оценка = None, cv = None, n_jobs = 1, подробный = 0, fit_params = Нет, pre_dispatch = ‘2 * n_jobs’)

X и y

X: в виде массива. Данные для размещения. Может быть, например, список или массив.

y: массив, необязательно, по умолчанию: нет. Целевая переменная: попытаться предсказать в случае контролируемого обучения.

Мне интересно, является ли [X, y] X_train и y_train или [X, y] должен быть весь набор данных. В некоторых записных книжках kaggle некоторые люди используют весь набор данных, а некоторые другие - X_train и y_train.

Насколько мне известно, перекрестная проверка просто оценивает модель и показывает, насколько вы переоцениваете или не подходите своим данным (это на самом деле не тренирует модель). Тогда, на мой взгляд, чем больше у вас данных, тем лучше будет производительность, поэтому я бы использовал весь набор данных.

Что вы думаете?

1 Ответ

0 голосов
/ 04 мая 2018

Модель performance зависит от способа разделения данных, и иногда модель не может обобщать.

Так вот почему нам нужна перекрестная проверка.

Cross-validation является жизненно важным шагом в оценке модели. Это максимизирует объем данных, которые используются для обучения модели, поскольку в ходе обучения модель не только обучается, но и проверяется на всех доступных данных.

Мне интересно, должно ли [X, y] быть X_train и y_train или [X, y] должно быть весь набор данных.

[X, y] должен быть целым набором данных, поскольку внутренняя перекрестная проверка разделяет данные на данные training и данные test.

Предположим, вы используете перекрестную проверку с 5 сгибами (cv = 5).

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

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

enter image description here

По умолчанию функция cross_val_score() scikit-learn использует показатель R^2 в качестве метрики выбора для регрессии.

R^2 оценка называется коэффициент детерминации.

...