【小白从小学Python、C、Java】

【Python全国计算机等级考试】

【Python数据分析考试必会题】

● 标题与摘要

Python的数据分析中

交叉验证

● 选择题

以下说法错误的是:

A 交叉验证可以更好地评估模型的泛化能力

B 10折交叉验证将进行10次训练与测试

C K折交叉验证只进行一次训练与测试

D 交叉验证结果取平均值,减少结果片面的问题

● 问题解析

1.在评估模型结果时,容易因为数据集划分不合理而影响评分结果,从而导致单次评分结果可信度不高。所以需要使用不同的划分多评估几次,然后计算所有评分的平均值,这是比较有效的方法,称作交叉验证。

交叉验证(Cross Validation)会反复对数据集进行划分,并使用不同的划分对模型进行评分,减少单独测试结果过于片面以及训练数据不足的问题,可以更好地评估模型的泛化能力。

2.K折交叉验证过程:

(1)将已知类别的样本随机地划分为大小大致相等的k个子集S1,…,Sk,并进行k次训练与测试。第i次子集Si作为测试数据集,其余子集的并集作为训练数据集。进行k次训练得到k个分类模型,当利用分类模型对测试样本或者新样本进行分类时,综合考虑k个分类模型的分类结果。

(2)举例10折交叉验证:

将已知类别的样本随机地划分为大小大致相等的10个子集,并进行10次训练与测试。分别取1至10为测试集,其余子集的并集作为训练数据集。之后将测试结果取平均值,详见图1。

3.交叉验证语法:

sklearn.model_selection.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)

参数解释:

(1)estimator用来指定要评估的模型。

(2)X和y分别用来指定数据集及其对应的标签。

(3)groups默认为None,将数据集拆分为训练集、测试集时使用的样本的分组标签。

(4)scoring默认为None。

(5)cv用来指定划分策略,常设置为整数,表示把数据集拆分成几个部分对模型进行训练和评分。cv=None时,使用默认的5折交叉验证。

(6)n_jobs默认None,并行运行的作业数。

(7)verbose默认为0。

(8)fit_params默认None,传递给估计器的fit方法的参数。

(9)pre_dispatch默认='2*n_jobs',控制在并行执行期间分派的作业数。

(10)error_score默认=np.nan,如果在估计器拟合中发生错误,则分配给分数的值。

4.使用Python自带的糖尿病数据集进行简单的3折交叉验证,分别输出三次模型结果,如图2所示。

● 附图

图1 10折交叉验证

图2 糖尿病数据集进行3折交叉验证

● 附图代码

#导入数据集、线性模型

from sklearn import datasets, linear_model

#导入交叉验证模块

from sklearn.model_selection import cross_val_score

#下载Python自带的糖尿病数据集

diabetes = datasets.load_diabetes()

#取出前150条数据

X = diabetes.data[:150]

y = diabetes.target[:150]

lasso = linear_model.Lasso()

#使用线性模型做3折交叉验证

#分别输出三次结果

print(cross_val_score(lasso, X, y, cv=3))

● 正确答案

C

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

Python的数据分析中交叉验证相关推荐

  1. Python的数据分析中超参数调优方法:网格搜索

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python的数据分析中 超参数调优方法:网格搜索 ● 选择题 以下说 ...

  2. python机器学习库sklearn——交叉验证(K折、留一、留p、随机)

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 学习预测函数的参数,并在相 ...

  3. k折交叉验证python代码_K折交叉验证法原理及python实现

    本文为原创文章,转载请注明出处! 在训练数据的过程或者参加数据比赛的时候,常常会遇到数据量不够大的情况,在一次比赛过程我学到一个小技巧-K折交叉验证法(k-fold CrossValidation), ...

  4. Python实现K折交叉验证

    训练集 ​  训练集(Training Dataset)是用来训练模型使用的,在机器学习的7个步骤中,训练集主要在训练阶段使用. 验证集   当我们的模型训练好之后,我们并不知道模型表现的怎么样,这个 ...

  5. Python在数据分析中的作用

    根据2021年TIOBE 编程语言社区的排名情况,目前Python以市场占比12.90%排名第一位,市场占比上升0.69%,排名第二位的是C,市场占比11.80%,市场占比下降-4.69%,排名第三位 ...

  6. python 实现k折交叉验证

    k折交叉验证原理: k折交叉验证是将数据分为k份,选取其中的k-1份为训练数据,剩余的一份为测试数据.k份数据循环做测试集进行测试.此原理适用于数据量小的数据. # k-折交叉验证(此处设置k=10) ...

  7. Python:K折交叉验证,将数据集分成训练集与测试集

    注意文件夹格式:父文件夹/类别/图像(同torch读取图像格式保存一致),传入路径为父文件夹路径. """ 对图像进行交叉验证, 用于检验分类效果 对每个类别的n张图像进 ...

  8. python r语言 数据分析_R vs. Python,数据分析中谁与争锋?

    点击上方" CSDN ",选择"置顶公众号" 关键时刻,第一时间送达! 作者丨Sunil Kappal 译者丨安翔 R和Python两者谁更适合数据分析领域?在 ...

  9. [转载] Python pandas数据分析中常用方法

    参考链接: Python | Pandas处理文本text数据 官方教程 读取写入文件 官方IO 读取 写入 read_csv to_csv read_excel to_excel read_hdf ...

最新文章

  1. 构建企业级业务高可用的延时消息中台
  2. 庖丁解牛剖析国际学术论文写作的快速入门
  3. LeetCode Convert Sorted List to Binary Search Tree(有序单链表转为平衡二叉树)
  4. fatal error C1189: #error : Building MFC application with /MD[d]
  5. k8s之二进制安装etcd集群
  6. ReactNative手势解锁(react-native-ok-gesture-password)
  7. 负载测试工具Ripplet
  8. arraylist转int数组_深度剖析Java集合之ArrayList
  9. linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
  10. 使用ENVI5.3构建时序数据展示
  11. koa mysql mongodb_koa如何连接MongoDB
  12. 运行在WEB上的电子海图数据
  13. java图片自动盖章,一种自动盖章装置的制作方法
  14. 怎么看计算机配件型号,操作方法:如何查看CPU型号,教您如何通过CPU型号[图形]识别计算机的性能...
  15. 【无标题】加减乘除练习题生成器(竖式)
  16. 数据挖掘实验:使用 Hadoop 实现 WordCount 应用
  17. android实现 桌面移动悬浮窗口实现
  18. 语音播报警示器技术要求
  19. Windows 10任务栏中托盘区(通知区域)图标消失的解决方法
  20. 什么是业务流程管理BPM

热门文章

  1. 武汉大学计算机系英语挂科,挂科率最高的前100所大学 武大挂的最多的居然是...
  2. 《Python编程:从入门到实践》第12章:武装飞船
  3. 聚乙烯醇(PVA)/壳聚糖(CTS)/氧化石墨烯(GO)水凝胶吸附和解吸实验(供应PNIPA/膨润土复合/聚乙烯醇/魔芋胶复合/HAP纳米纤维/GelMA复合丝素蛋白(SF)复合水凝胶等)
  4. bug解决:如何解决浏览器显示乱码问题?
  5. **懒得给孩子讲故事怎么办**
  6. 创业冲突的五种解决方法是_避免创业合伙人之间发生冲突的四种方法
  7. RGB565 与 RGB888的相互转换
  8. 暧昧散场,穿过你的黑发我的手968
  9. 怎么判断冠词用a还是an_如何判断单词前的冠词用a还是an
  10. AliOS-Things--EMW3060使用笔记--GPIO