如何利用交叉验证法得到最佳系数向量

2024-10-06 12:28:59 发布

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

我在数据集上运行岭回归。我做了5次交叉验证。所以我的数据集基本上分为5列和5个测试折叠。在

这就是我在scikit中所做的:

from sklearn import cross_validation
k_fold=cross_validation.KFold(n=len(tourism_train_X),n_folds=5) 

我设置正则化参数如下:

^{pr2}$

现在,我的疑问是,对于每一列火车和测试折叠 我会做这样的事。在

ridge_tourism = linear_model.Ridge()
for a in alphas:
    ridge_tourism.set_params(alpha=a)
    index=0
    for train_indices, test_indices in k_fold:
        ridge_tourism.fit(tourism_train_X[train_indices], tourism_train_Y[train_indices])  # Fitting the model
        coefs.append(ridge_tourism.coef_)

问题是它会给我每个alpha中五个训练倍数的系数向量。我想要的是每个α的最佳系数向量是什么。我们怎么弄到的?我们如何从5个列车组中选出最终报告α系数的向量?在


Tags: 数据inalphaformodeltrainfold向量
1条回答
网友
1楼 · 发布于 2024-10-06 12:28:59

对于每个α值,取5倍验证的验证误差的平均值。然后你就可以得到平均验证误差v.s.alpha的曲线。选择alpha值,它给出最小的平均验证误差。在

相关问题 更多 >