python 交叉验证
交叉验证的优点:
原始采用的train_test_split方法,数据划分具有偶然性;交叉验证通过多次划分,大大降低了这种由一次随机划分带来的偶然性,同时通过多次划分,多次训练,模型也能遇到各种各样的数据,从而提高其泛化能力
与原始的train_test_split相比,对数据的使用效率更高,train_test_split,默认训练集,测试集比例为3:1,而对交叉验证来说,如果是5折交叉验证,训练集比测试集为4:1;10折交叉验证训练集比测试集为9:1.数据量越大,模型准确率越高!
交叉验证的缺点:
这种简答的交叉验证方式,从上面的图片可以看出来,每次划分时对数据进行均分,设想一下,会不会存在一种情况:数据集有5类,抽取出来的也正好是按照类别划分的5类,也就是说第一折全是0类,第二折全是1类,等等;这样的结果就会导致,模型训练时。没有学习到测试集中数据的特点,从而导致模型得分很低,甚至为0,为避免这种情况,又出现了其他的各种交叉验证方式。
Stratifidk-foldcrossvalidation
分层交叉验证(Stratifiedk-foldcrossvalidation):首先它属于交叉验证类型,分层的意思是说在每一折中都保持着原始数据中各个类别的比例关系,比如说:原始数据有3类,比例为1:2:1,采用3折分层交叉验证,那么划分的3折中,每一折中的数据类别保持着1:2:1的比例,这样的验证结果更加可信。
通常情况下,可以设置cv参数来控制几折,但是我们希望对其划分等加以控制,所以出现了KFold,KFold控制划分折,可以控制划分折的数目,是否打乱顺序等,可以赋值给cv,用来控制划分。
以上内容为大家介绍了python交叉验证,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

相关推荐HOT
更多>>
python怎么输入多变量
Python同时输入多个值 1.同时输入多个字符串,字符串间以逗号/空...详情>>
2023-11-12 23:43:43
python岗位主要做什么工作?
python的工作岗位还是很多的,涉及的工作方向也很广,下面举一些常见的岗位,大家可以参考:Web应用开发Python经常被用于Web开发。例如,通过mo...详情>>
2023-11-12 23:05:27
python能做网站吗?
python可以做网站,Python有很多优秀的网站框架,可以非常快速的建一个网站。比如django之类的框架。Django、TurboGears、Eurasia、UliWeb等:...详情>>
2023-11-12 21:47:07
python中的int是什么意思?
python中的int()函数用于将一个字符串或数字转换为整型。语法以下是int()方法的语法:classint(x,base=10)参数x--字符串或数字。base--进制数,...详情>>
2023-11-12 21:21:30