sklearn中给定折叠拆分的交叉验证

2024-10-01 09:17:54 发布

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

我正在学习如何在Python中使用sklearn的套索和Ridge。我被赋予了一栏的褶皱。我想找到一个基于5倍交叉验证的最佳参数。在

我的数据如下:

    mpg cylinders  displacement  horsepower  weight  acceleration  origin  fold
0   18          8           307         130    3504          12.0       1     3
1   15          8           350         165    3693          11.5       1     0
2   18          8           318         150    3436          11.0       1     2
3   16          8           304         150    3433          12.0       1     2
4   17          8           302         140    3449          10.5       1     3


reg_para = [0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10, 50, 100]

mpg是y/目标变量,其他列是预测值。最后一列包含折叠。我想运行套索和山脊,找到最好的参数。我遇到的问题是在交叉验证中合并指定的折叠。以下是我到目前为止(套索)的情况:

^{pr2}$

有没有一种简单的方法来合并折叠分割?非常感谢任何帮助


Tags: 数据参数foldoriginsklearn交叉套索weight
1条回答
网友
1楼 · 发布于 2024-10-01 09:17:54

如果您的数据在pandas数据帧中,那么您需要做的就是访问该列

fold_labels = df["fold"]
from sklearn.cross_validation import LeaveOneLabelOut
cv = LeaveOneLabelOut(fold_labels)

lasso_model = LassoCV(cv=cv, alphas=reg_para)

因此,如果您在一个数组fold_labels中获得折叠标签,您可以使用LeaveOneLabelOut(对于非功能性代码,很抱歉。不过,阐明这个想法就足够了。)

相关问题 更多 >