SKLEARN模型选择

数据集划分方法

在这里插入图片描述

K折交叉验证法

  1. 将全部训练集S分成k个不相交的子集,假设S中的训练样例子数为m,那么每一个子集有m/k个训练样例,相应子集称作{s1,s2……sk}
  2. 每次从分好的子集里面,拿一个作为测试集,其他k-1作为训练集
  3. 在k-1个训练集中训练出学习器模型
  4. 把这个模型放到测试集上,得到分类率
  5. 计算k次求得的分类率的平均值,作为改模型或者假设函数的真实分类率
  6. 这个方法充分利用了所有样本,但计算比较繁琐,需要训练k次,测试k次
    在这里插入图片描述

留一法

假设有N个样本,将每一个样本作为测试样本,其它N-1个样本作为训练样本,这样得到N个分类器,N个测试结果。用这N个结果的平均值来测量模型的性能
如果LOD与K-fold—CV比较,LOD在N个样本上建立N个模型而不是k个,更进一步,N个模型的每一个都是在N-1个样本上训练的,而不是(k-1)n/k。两种方法中,假定k不是很大,且k<<N.LOD比k-fold-cv更加耗时
留p法验证
有N个样本,将每p个样本作为测试样本,其它N-p个样本作为训练样本,这样得到(n p)个分类器,不像其他p>1,会发生数据重叠。

随机划分法

Shuffle Split迭代器 产生指定数量 独立的train/test数据集划分。首先对样本全体随机打乱,然后再划分train/test对
可以使得随机种子random_test来控制随机数序列产生器是的运算结果可重现
Shuffle Split是Kfold交叉验证的比较好的替代,它允许更好的控制迭代次数和train/test样本比例
StratifiedShuffle Split 是Shuffle Split的一个变体,返回分层划分,也就是在创建划分的时候要保证每个划分中类的样本比例与整体数据集中的原始比例保持一致
在这里插入图片描述

超参数优化方法

学习器模型中一般有两个参数:一类参数可以从数据中学习可以估计得到,还有一类参数无法从数据中估计,只能靠人的经验进行设计指定。后一类参数叫超参数
比如:支持向量机中C Kernel gama 朴素贝叶斯里的alpha等
在学习器模型设计中,我们要搜索超参数空间的学习器模型找到最合理的超参数
通过此方法获得学习器模型参数列表和当前取值:
estimator.get_params().
在这里插入图片描述
有些学习器模型有自己的独特的参数优化方法
SKLEARN提供两种参数优化方法:网络搜索与随机采样
网格搜索交叉验证:以穷举方式遍历所有可能的参数组合
随机采样交叉验证:依据某种分布对参数空间采样,随机得到一些参数组合方案
在这里插入图片描述

网格式搜索超参数优化方法

在这里插入图片描述
在这里插入图片描述

随机采样式超参数优化方法

在这里插入图片描述
在这里插入图片描述

超参数空间搜索技巧

技巧一:指定一个合适的目标测度对模型进行评估
默认情况下,参数搜索使用estimator的score函数来评估模型在某种参数配置下的性能
分类器对应于:sklearn.metrics.accuracy_score
回归器对应于sklearn.metrics.r2_score
但是在某些应用中,其他评分函数或许更加的合适。(比如,在非平衡的分类问题中,准确率accuracy_score通常不管用。这时我们可以通过参数scoring来指定GridSearchCV类或者RandomizedSearchCV类内部我们自己定义评分函数
技巧二:
使用sklearn的PipLine将estimator和他们的参数空间组合起来
技巧三:
合理划分数据集,开发集(用于GridSearchCV)+测试集(Test)使用model_selection.train_test_split()
技巧四:
并行化(GridSearchCV)和(RandomizedSearchCV)在参数点的计算上可以做到并行运算,用n_jobs来指定
技巧五:
提高到某些参数节点发生错误的鲁棒性:再出错节点提示警告,设置参数error_score=0搞定

模型验证方法

在这里插入图片描述

1.交叉验证计算得分

在这里插入图片描述

2.每个输入数据点交叉验证估计

在这里插入图片描述

3计算并绘制模型的学习率曲线

学习率曲线:
计算指定的学习器模型在不同大小的训练集上经过交叉验证的训练得分和测试得分
首先,用一个交叉验证生成器划分整体数据集k次,每一次划分都有一个训练集和测试集,然后从第k次的训练集中拿出若干个数量不断增加的子集,在这些子训练集上训练模型,然后再计算模型在对应的子训练集和测试集上的得分。最后,对于每种子训练集大小下,将k次训练得分和测试集得分分别进行平均
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sklearn模型预测性能的评估方法

estimator对象的score方法

在这里插入图片描述

交叉验证中使用scoring参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

被该死的Openssl编译嘲讽了一个下午

昨晚比较尴尬&#xff0c;下班的时候已经很晚了&#xff0c;到半路突然想起来没有带钥匙回去&#xff0c;赶紧折返回公司拿钥匙&#xff0c;在已经很晚的路上我们又多花费了20分钟&#xff0c;到家已经挺晚了&#xff0c;具体多少点我都不好意思说&#xff0c;我要是说出来&…

JavaScript中本地对象、内置对象和宿主对象

http://www.jianshu.com/p/a52e6e183427 http://blog.csdn.net/weiyastory/article/details/52837466 http://www.cnblogs.com/qigang/p/3520974.html 在ECMAScript中&#xff0c;所有对象并非同等创建的。 一般来说&#xff0c;可以创建并使用的对象有3种&#xff1a;本地对象…

类的真正形态

类的真正形态 类的关键字 struct在C语言中已经有了自己的定义&#xff0c;必须继续兼容 在C中提供了新的关键字&#xff0c;class用于类定义 class和struct用法是完全相同 struct和class区别 用struct定义时&#xff0c;所有成员默认为public 用class定义时&#xff0c;所…

分类器

sklearn分类器性能指标 分类器性能评估指标 只限于二元单元标签分类问题 可用于二元多标签分类问题的评估指标 如何将二元分类指标扩展到多类或多标签问题中去 可用于多类分类问题的评估指标(紫色的可用于多标签问题&#xff09; accuracy_score准确率 函数计算分类…

Cucumber+Rest Assured快速搭建api自动化测试平台

转载&#xff1a;http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber&#xff1f;什么是BDD&#xff1f;这里不细讲&#xff0c;不懂的直接查看官方&#xff1a;https://cucumber.io/  什么是Rest Assured&#xff1f;传送门&#xff1a;https://github.com/rest-assured…

让这个该死的服务跑起来了~

#前言被该死的Openssl编译嘲讽了一个下午之前的文章说了我的那个编译的问题&#xff0c;这里说下&#xff0c;知识点有点零散&#xff0c;最后的解决也是一个同事提示&#xff0c;感觉也有点奇葩的赶脚。到目前为止&#xff0c;我现在感受到了写文章的好处&#xff0c;昨晚的问…

深度学习概述

深度学习 传统学习与深度学习 深度学习应用特点 深度学习框架比较 Tensorflow 神经元 卷积核 分类 回归 生成

Python--递归

面向函数编程 def func():print(从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚讲故事&#xff0c;讲的什么呀&#xff1f;)func() 解耦&#xff1a;尽量把不相关的功能拆开&#xff0c;用的时候再调用函数&#xff0c;增强代码重用性&#xff0c;减少代码变更的…

传统神经网络

文章目录神经网络的起源&#xff1a;线性回归一个线性回归问题线性回归优化方法&#xff1a;梯度下降梯度计算梯度计算总结线性回归&#xff1a;输出线性回归&#xff1a;局限从线性到非线性非线性激励常用的非线性激励函数tanhRELULecky RELU神经元—神经网络神经网络构建神经…

深度学习之卷积神经网络

文章目录深度学习之卷积神经网络链式反向梯度链式法则的计算神经网络中链式法则实例二、卷积神经网络-卷积层&#xff08;一&#xff09;什么是卷积层&#xff08;二&#xff09;有什么组成受什么影响&#xff0c;有何特点卷积网络正向传播反向传播卷积和神经网络功能层深度学习…

卷积神经网络高级篇

【 文章目录Alextnet参数计算VGG alexnet增强版VGG参数计算VGG作用GoogleNet 多分辨率融合全卷积神经网络RESNET结构特性有效性结构化图片特殊处理识别效果全局部卷积网络缺陷U-net图片生成网络VGG u-netAlextnet 参数计算 VGG alexnet增强版 VGG参数计算 VGG作用 GoogleNet 多…

LinuxGPIO操作和MTK平台GPIO

GPIO口配置是一个历史性的问题&#xff0c;不管我们使用什么MCU&#xff0c;单片机也好&#xff0c;ARM也好&#xff0c;都离不开驱动GPIO口。Linux下有一个宏&#xff0c;GPIO_GPIO_SYSFS&#xff0c;打开这个宏后&#xff0c;编译烧录到设备端&#xff0c;去看看sys/class/gp…

Linux cpu亲和力

最近在对项目进行性能优化&#xff0c;由于在多核平台上&#xff0c;所以了解了些进程、线程绑定cpu核的问题&#xff0c;在这里将所学记录一下。不管是线程还是进程&#xff0c;都是通过设置亲和性(affinity)来达到目的。对于[进程]的情况&#xff0c;一般是使用sched_setaffi…

卷积神经网络(目标分类)

文章目录目标分类基本框架数据准备数据扩充数据规范模型设计任务分类局部更改训练细节目标分类基本框架 数据准备 现有数据集的子集&#xff0c;网络采集&#xff0c;现有数据人工标注 数据扩充 原始数据切割&#xff0c;噪声颜色等像素变化&#xff0c;旋转平移 数据规范…

安卓9.0添加服务修改SELinux

#文章目录#前言#SELinux来源#SELinux基本框架#SELinux 在不同版本的表现#使用audit2allow工具生成SELinux 权限#完整代码#前言先推荐下之前的SELinux文章&#xff0c;但是那个是7.1的&#xff0c;在9.0上已经在差别很大的了。Android7.1 在init.rc 添加shell服务题外话~在企业里…

卷积神经网络-目标探测

文章目录目标探测介绍任务思路DPMRCNN1&#xff09;候选区域选择2&#xff09;CNN特征提取3&#xff09;分类与边界回归R-CNN总结优点缺陷FAST-RCNNFASTER-RCNNYOLO目标探测介绍 任务 分类获取坐标 目标探测 图片分割 思路 回归问题&#xff1a;利用神经网络进行目标识别&am…

相机视场角和焦距_镜头小讲堂(一)镜头的焦距

在刚购买完相机的时候&#xff0c;我们久会考虑需要什么样的镜头来配合机身来使用。而市场上的镜头种类是在太多了&#xff0c;所以我们就要学习了解下镜头都有哪些种类&#xff0c;选择哪种镜头比较有优势。这也是学习摄影必备的基础知识。01 镜头的焦距焦距是镜头的重要指标&…

C语言指定初始化器解析及其应用

由于笔者能力有限&#xff0c;文中如果出现错误的地方&#xff0c;欢迎大家给我指出来&#xff0c;我将不胜感激&#xff0c;谢谢&#xff5e;#指定初始化器的概念C90 标准要求初始化程序中的元素以固定的顺序出现&#xff0c;与要初始化的数组或结构体中的元素顺序相同。但是在…

递归神经网络

文章目录LSTM![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609171449198.pngLSTM 4INPUTS 1outputs

CNN+RNN

文章目录相同点不同点组合意义组合方式图片标注基本思路模型设计&#xff0d;数据准备视频行为识别视频行为识别图片问答相同点 传统神经网络的扩展 前向计算产生结果&#xff0c;反向计算模型更新 每层神经网络横向可以多个神经元共存&#xff0c;纵向可以多层神经网络链接 …