python交叉验证结合线性回归_Python机器学习之交叉验证

交叉验证是一种非常常用的对于模型泛化能力进行评估 方法,交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题。常用的交叉验证方法有:简单交叉验证(HoldOut检验,例如train_test_split)、k折交叉验证(例如KFold)、自助法

kfold是将数据集划分为K-折,只是划分数据集;

cross_val_score是根据模型进行计算,计算交叉验证的结果,你可以简单认为就是cross_val_score中调用了kfold进行数据集划分。

函数原型:

sklearn.cross_validation.cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch=‘2*n_jobs’)

参数解释:

estimator:数据对象

X:数据

y:预测数据

soring:调用的方法

cv:交叉验证生成器或可迭代的次数.cv可能的输入有:

-无,使用默认的三折交叉验证,

-整数,用于指定“(分层的)KFold”中的折叠数,

-用作交叉验证生成器的对象。

-一个可迭代产生的序列,测试分裂。

对于整数/无输入,如果估计器是一个分类器,并且' ' y ' '是二进制的或多类的,则使用:class: ' StratifiedKFold '。在所有其他情况下,使用:class: ' KFold '。

n_jobs:同时工作的cpu个数(-1代表全部)

verbose:详细程度

fit_params:传递给估计器的拟合方法的参数

pre_dispatch:控制并行执行期间调度的作业数量。减少这个数量对于避免在CPU发送更多作业时CPU内存消耗的扩大是有用的。该参数可以是:

1.没有,在这种情况下,所有的工作立即创建并产生。将其用于轻量级和快速运行的作业,以避免由于按需产生作业而导致延迟

2.一个int,给出所产生的总工作的确切数量

3.一个字符串,给出一个表达式作为n_jobs的函数,如'2 * n_jobs'

返回

交叉验证每次运行的评分数组

一、(分层)K折交叉验证

采用红酒数据进行交叉验证

#导入hongjiu数据

from sklearn.datasets import load_wine

#导入交叉验证数据

from sklearn.model_selection import cross_val_score,StratifiedKFold

#导入用于分类的支持向量机模型

from sklearn.svm import SVC

#载入红酒数

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值