分类器的sklearn交叉验证之我的理解

本文详细探讨了sklearn中交叉验证的困惑点,包括模型参数不变性、cv设置的注意事项、StratifiedKFold在分类任务中的应用,以及如何避免留一法错误。通过实例说明了cv最大值的确定方法,适合初学者理解和实践分类器的交叉验证技巧。

sklearn的交叉验证是机器学习中重要的一步,主要用来评估模型的误差,但是其中理解起来还是有点困难,尤其是cv的设置,如果过大就会报错。
网上有关于交叉验证的基础知识点,我就不介绍了,我主要从实践中说下关于交叉验证在分类器中应用的一些坑和难以理解的地方。

首先是交叉验证会不会改变模型参数?

不会。交叉验证是在model.fit()之后进行的一步,模型在fit的时候,就已经更新了参数,交叉验证只是为了在数据集上评估模型好坏用的,通过交叉验证来计算AUC,f1,precision,recall等指标。
交叉验证包括 cross_val_predict,cross_val_score,cross_val。
其中predict是输出预测值,score是可选的,可以选择一些指标去展示分数。
对于回归来说,可以选择score,但是对于分类器,还是需要使用predict。
例如:

Y_forest_pred = cross_val_predict(forest_clf, X_train, y_train_binary, cv = 10)
# Y_forest_pred.shape=(49, )

cv是可选的参数,cv也是最难理解的地方。
cv表示k折交叉,默认是cv=5(假如不设置cv参数)。
注意:如果estimators(估算器模型)是分类器,并且y是二类或多类,那么cv使用的是StratifiedKFold,如果不是分类器,那么就是KFold。
StratifiedKFold使用的是分层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clancy_wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值