中的cv参数sklearn.model_选择.GridSearchCV在回归问题中:随着cv值的增大,最佳_分数_u减小

2024-09-24 00:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在理解GridSearchCV中cv参数的影响时遇到了一些问题。我还在使用python2.7和sklearn0.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_)

这将产生以下输出

^{pr2}$

测试样本越小(折叠次数越多),最佳得分越低。在


Tags: fromimportgs参数modelnprandomsklearn
1条回答
网友
1楼 · 发布于 2024-09-24 00:28:20

所用数据的大小直接影响Y的方差,这一点很重要,因为sklearn的回归模型使用R平方作为默认得分公式,即均值(Y_hat-Y)/var(Y)。在

给定您提供的数据,随着样本数的增加,方差减小,使R^squared值也减小。在

“R2可以比较的一种情况是,不同的模型 适用于具有相同、未转换响应变量的同一数据集。 然后增加R2与降低样本MSE(通过公式9)。 但是,在这种情况下,您也可以只比较MSE。”

第17页在http://www.stat.cmu.edu/~cshalizi/mreg/15/lectures/10/lecture-10.pdf

相关问题 更多 >