赞
踩
在机器学习中经常会用到交叉验证,常用的就是KFold和StratifiedKFold,那么这两个函数有什么区别,应该怎么使用呢?
首先这两个函数都是sklearn模块中的,在应用之前应该导入:
from
首先说一下两者的区别,StratifiedKFold函数采用分层划分的方法(分层随机抽样思想),验证集中不同类别占比与原始样本的比例保持一致,故StratifiedKFold在做划分的时候需要传入标签特征。
1、KFold函数
KFold函数共有三个参数:
n_splits:默认为3,表示将数据划分为多少份,即k折交叉验证中的k;
shuffle:默认为False,表示是否需要打乱顺序,这个参数在很多的函数中都会涉及,如果设置为True,则会先打乱顺序再做划分,如果为False,会直接按照顺序做划分;
random_state:默认为None,表示随机数的种子,只有当shuffle设置为True的时候才会生效。
import
输出结果为:
2、StratifiedKFold
StratifiedKFold函数的参数与KFold相同。
import
总结自己在工作中遇到的Python中常用的函数,记录点滴,逐渐积累,希望能帮到你。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。