关于python机器学习cross_val_score()交叉检验的参数cv实际默认为5这件事,你怎么看?
小啾在测试中发现,cross_val_score()的cv参数,该参数在源码中默认值为None,但是在实际使用时,默认值为5,默认效果为K-Fold交叉验证(K即cv)。即默认将数据分成大小相同的K份,即5个子集,从中随机选择4个作为训练集,另1个是测试集。该过程重复进行,所以共有5个组合。即验证后得到一个装有5个元素的一维数组。
·
小啾在测试中发现,cross_val_score()的cv参数,
该参数在源码中默认值为None,但是在实际使用时,默认值为5,默认效果为K-Fold交叉验证(K即cv)。
即默认将数据分成大小相同的K份,即5个子集,
从中随机选择4个作为训练集,另1个是测试集。该过程重复进行,所以共有5个组合。
即验证后得到一个装有5个元素的一维数组。

以检验准确率为例:
对比以下代码及其输出结果:
- 不设cv
scores = cross_val_score(estimator, X, y, scoring='accuracy')
print(scores, '\n', len(scores))

- cv=5
scores = cross_val_score(estimator, X, y, scoring='accuracy', cv=5)
print(scores, '\n', len(scores))

- cv=3
scores = cross_val_score(estimator, X, y, scoring='accuracy', cv=3)
print(scores, '\n', len(scores))

虽然照此法代码能使用,但是小啾不明白其原因,对此各位大佬怎么看?
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)