机器学习之模型验证——基于Scikit-Learn

《Python数据科学手册》 笔记

一、超参数

      在模型拟合数据之前必须确定好的参数。

二、交叉验证

      将模型分为N组,每一轮依次用模型拟合其中的 N-1 组数据,再预测剩下一组数据,评估模型准确率。

     以五轮交叉验证为例:

用函数实现:

这是在我上一篇博客代码的基础上添加的,单独这两行代码是要报错的哦!(上一篇博客

其中,model是实例化的一个模型(只需要初始化即可),X_iris是未手动分组的鸢尾花特征矩阵,y_iris是未手动分组的鸢尾花标签数组,cv=5表示要进行5轮交叉验证。

需要注意的是,model_selection模块在Scikit-Learn 0.18版之前是用的cross_validation。

另外有一种极端的情况,那就是每次只有一个样本做测试,其他样本全用于训练。这种交叉验证类型被称为LOO(leave-one-out)交叉验证。

用函数实现:

需要注意的是,从model_selection模块中导入的LeaveOneOut和低版本Scikit-Learn(Scikit-Learn 0.18版之前)里的cross_validation模块中导入的LeaveOneOut用法不同,前者为cv=LeaveOneOut(),而后者为cv=LeaveOneOut(len(X_iris))。

三、选择最优模型

假如模型效果不好,可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值