我在数据集上运行岭回归。我做了5折交叉验证。所以基本上我的数据集分为5个列车和5个测试折叠。
这就是我在scikit中的表现:
from sklearn import cross_validation
k_fold=cross_validation.KFold(n=len(tourism_train_X),n_folds=5)
我像这样设置正则化参数:
#Generating alpha values for regularization parameters
n_alphas = 200
alphas = np.logspace(-10, -1, n_alphas)
现在,我怀疑的是,每列火车和测试折叠 我这样做。
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中五个训练倍数中每一个的系数向量。我想要的只是每个alpha选择的最佳系数向量。我们怎么做到的?我们如何从5个列车组中选择哪个系数向量最终报告为该α?
答案 0 :(得分:1)
对于每个alpha值,取5倍验证的验证错误的平均值。然后,您将能够获得平均验证错误v。的曲线。 α。选择alpha值,它会给出最低的平均验证错误。