параметр cv в sklearn.выбор модели.GridSearchCV в задачах регрессии: best_score уменьшается при больших значениях cv

У меня проблемы с пониманием влияния параметра cv в GridSearchCV. Я все еще на Python 2.7 со sklearn 0.18

При использовании GridSearchCV для настройки некоторых параметров, например, регрессии гребня, я ожидаю, что баллы будут повышаться для большего числа сгибов, поскольку все больше и больше данных включается в обучение.
Однако я наблюдал противоположное поведение. Может ли кто-нибудь объяснить мне, следует ли этого ожидать?

Рассмотрим следующий пример

from __future__ import division, print_function
from sklearn import linear_model
from sklearn import preprocessing
from sklearn import model_selection
import numpy as np

# Some example data
X = np.ones((100, 4)) * np.arange(100).reshape((100, 1)) + (np.random.random((100, 4)) * 0.5)
Y = np.ones((100, 1)) * np.arange(100).reshape((100, 1))
scalerx = preprocessing.StandardScaler()
X_ = scalerx.fit_transform(X)
scalerx = preprocessing.StandardScaler()
Y_ = scalerx.fit_transform(Y)

for cv in np.arange(2, 100, 5):
    GS = model_selection.GridSearchCV(
        cv=cv, estimator=linear_model.Ridge(random_state=0),
        param_grid=[{'alpha': [10e-2, 10e-1, 10e0, 10e1, 10e2]}],
        )
    GS.fit(X_, Y_)
    print(cv, GS.best_score_)

это приводит к следующим результатам

2 0.999967723551
7 0.999700831429
12 0.999157506389
17 0.998278596601
22 0.997107931494
27 0.995490243014
32 0.993315835556
37 0.990634277512
42 0.986174197011
47 0.982697293408
52 0.941176694311
57 0.844045003327
62 0.744867073869
67 0.646916948176
72 0.548521372859
77 0.451907425236
82 0.352978995707
87 0.256264849417
92 0.1575027865
97 0.058902807202

Лучший результат уменьшается с меньшими тестовыми выборками (большее количество сгибов).

1 ответ

  1. Размер используемых данных оказывает прямое влияние на дисперсию Y. Это важно, поскольку регрессионные модели sklearn используют R-squared в качестве формулы оценки по умолчанию i. e. mean(y_hat — y) / var (y).

    Учитывая данные, которые вы предоставили, по мере увеличения количества выборок дисперсия уменьшается, что также приводит к уменьшению значения R^squared.

    «Одна ситуация, когда R2 можно сравнить, когда разные модели
    fit к тому же набору данных с той же, нетрансформированной переменной ответа.
    Тогда увеличение R2 совпадает с уменьшением в образце MSE (Eq. 9).
    В этом случае, однако, вы могли бы также просто сравнить MSEs.»

    Страница 17 in http://www.stat.cmu.edu / ~cshalizi/mreg/15/лекции/10 / лекция-10.pdf