交叉验证数据集划分--KFold类和cross_val_score()函数

KFold

model_selection.KFold(n_splits=5, *, shuffle=False, random_state=None)

提供训练/测试指标用于分割在训练/测试集中的数据
将数据分为n_splits份(默认不打乱顺序),其中一份作为交叉验证数据集,剩余(n_splits-1)份作为训练数据集

该类是一个交叉校验器

一般使用格式

常与cross_val_score()函数一起使用来求模型的评分

cross_val_score

cross_val_score(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, fit_params=None, pre_dispatch='2*n_jobs', error_score=nan)

通过交叉验证来评估出一个分数

主要参数

x
array-like
要拟合的数据
y
array-like
监督学习时使用,表示标签
cv
交叉验证生成器(如kfold类)或可迭代类型
默认:5-fold
n_jobs
并行处理的任务数量
训练模型计算得分与交叉数据集分割同时进行
默认None:即1
-1表示使用所有处理器

返回值

数据类型:ndarray
模型为每个交叉验证数据集所估计的分数,比如我们使用kfold将数据集分为10份,除了1份用来验证模型的准确性外,其余的9份都会作为训练数据集参与估分

一般使用格式

kfold=KFold(n_splits=10)
cv_result=cross_val_score(model,x,y,cv=kfold)	# model表示模型,x,y分别表示数据集及其标签

cross_val_score()函数的意义:假设我们现在有一个数据集,我们需要将其分为训练集和测试集,但是这样分一次后得到的数据集合具有随机性,这就会导致每次分割得到的数据集不一样,模型训练后得到的分数也不一样,会影响我们的判断。
于是我们使用这样的一个方法,多次随机分配训练数据集和交数据集,然后求得模型准确性评分的平均值
上面代码中cross_val_score()函数总共计算10次不同数据集和交叉数据集组合得到的模型准确行评分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夺笋123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值