欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

关于python机器学习cross

时间:2023-05-30

小啾在测试中发现,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))


虽然照此法代码能使用,但是小啾不明白其原因,对此各位大佬怎么看?

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。