k折交叉验证

一般情况将K折交叉验证用于模型调优找到使得模型泛化性能最优的超参值。,找到后,在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。

 

K折交叉验证使用了无重复抽样技术的好处:每次迭代过程中每个样本点只有一次被划入训练集或测试集的机会



K折交叉验证图:




如果训练数据集相对较小,则增大k值。

增大k值,在每次迭代过程中将会有更多的数据用于模型训练,能够得到最小偏差,同时算法时间延长。且训练块间高度相似,导致评价结果方差较高。

 

如果训练集相对较大,则减小k值。

减小k值,降低模型在不同的数据块上进行重复拟合的性能评估的计算成本,在平均性能的基础上获得模型的准确评估。



K折交叉验证的一个特例:

 留一(LOO)交叉验证法:将数据子集划分的数量等于样本数(k=n),每次只有一个样本用于测试,数据集非常小时,建议用此方法。

 

K折交叉验证改进成的 分层K折交叉验证:

       获得偏差和方差都低的评估结果,特别是类别比例相差较大时。

 

实现K折交叉验证:

使用数据集中的类标y_train初始化sklearn.cross_validation模块下的StratifiedKFold迭代器,通过n_folds参数设置块的数量。

使用kfold在k个块中迭代时,使用train中返回的索引去拟合流水线,通过pipe_lr流水线保证样本都得到适当的缩放。

使用test索引计算模型的准确率,存在score中。



[python]  view plain copy
  1. # 使用k-fold交叉验证来评估模型性能。  
  2. import numpy as np  
  3. from sklearn.cross_validation import StratifiedKFold  
  4.   
  5. kfold = StratifiedKFold(y=y_train,   
  6.                         n_folds=10,  
  7.                         random_state=1)  
  8.   
  9. scores = []  
  10. for k, (train, test) in enumerate(kfold):  
  11.     pipe_lr.fit(X_train[train], y_train[train])  
  12.     score = pipe_lr.score(X_train[test], y_train[test])  
  13.     scores.append(score)  
  14.     print('Fold: %s, Class dist.: %s, Acc: %.3f' % (k+1, np.bincount(y_train[train]), score))  
  15.       
  16. print('\nCV accuracy: %.3f +/- %.3f' % (np.mean(scores), np.std(scores)))  

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Python连接达梦数据库

python如果想连接达梦数据库,必须要安装dmPython。 简介:dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。dmPython 实现这些 API,使 Python 应用程序能够对 DM 数据库进行访问。 dmPython 通…

Jenkins+Python自动化测试之持续集成详细教程

前言 今天呢笔者想和大家来聊聊JenkinsPython自动化测试持续集成,废话呢就不多说了哟咱们直接进入主题哟。 一、Jenkins安装 ​ Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供…

C++ 常用算数生成算法

&#x1f914;常用算数生成算法&#xff1a; 该算法函数需要调用<numeric>头文件 1.accumulate 计算总和 在 C STL 中&#xff0c;accumulate() 是一种常用的算法&#xff0c;用于计算指定范围内的元素之和。 accumulate() 的函数原型为&#xff1a; template<c…

Windows的Powershell终端增强

Ubuntu上一直用的Oh My Zsh强化终端&#xff0c;体验非常nice。最近在Win上做东西比较多&#xff0c;于是也想把Powershell这个简陋的终端加强一下。 说干就干&#xff0c;网上查了一圈&#xff0c;发现大部分人用Oh My Posh来操作&#xff0c;因此试了一下&#xff0c;发现卡…

python图像处理实战(一)—图像基础

&#x1f680;写在前面&#x1f680; &#x1f58a;个人主页&#xff1a;https://blog.csdn.net/m0_52051577?typeblog &#x1f381;欢迎各位大佬支持点赞收藏&#xff0c;三连必回&#xff01;&#xff01; &#x1f508;本人新开系列专栏—python图像处理 ❀愿每一个骤雨初…

MYSQL语句。

一些常用的操作内容&#xff0c;非常重要。首先从数据的增删改查谈起。 #增加一条数据 INSERT INTO studentdb.book(name, maker, price, num, time, autor) VALUES (Sping, 中国邮政, 500元, 456, 2021/11/30, spingsping) #查询表单结构 DESC book #查询表的内容 SELECT * FR…

MySQL语句的使用

目录 一&#xff0c;基本的增删改查 二&#xff0c;案例演示 三&#xff0c;排序拓展 1.拓展一 2. 拓展二 一&#xff0c;基本的增删改查 &#xff08;SQLServer与PLSQL的语句基本一致&#xff09; 提示&#xff1a;但是"" 在MySQL里面加号不做拼接&#xff0c…

chatgpt赋能python:Python中浮点数的定义

Python中浮点数的定义 什么是浮点数&#xff1f; 在计算机科学中&#xff0c;浮点数&#xff08;floating-point number&#xff09;是一种用于表示实数的近似值的数值类型。Python中的浮点数是由整数部分和小数部分组成的&#xff0c;可以使用小数点来表示。例如&#xff0c…

高级MySQL语句

高级MySQL语句 一、高级SQL语句 1、SELECT ----显示表格中一个或数个栏位的所有资料2、DISTINCT ----不显示重复的资料3、WHERE ----有条件查询4、AND OR ----且 或5、IN ----显示已知的值的资料6、BETWEEN ----显示两个值范围内的资料7、通配符 ----通常通配符都是跟 LIKE 一起…

MySQL语句优化

MySQL语句优化 1.通过EXPLAIN分析低效SQL的执行计划2.使用索引&#xff08;其下测试效率通过查询结果的type列的值进行评判&#xff09;1&#xff09;对于创建的多列索引&#xff0c;只要查询的条件中用到了最左边的列&#xff0c;索引一般就会被使用&#xff0c; 举例说明如下…

Mysql语句

查询 select 查询显示的列表 from 表名 select类似于&#xff1a; system.out.print(查询显示的列表), 特点: 1.查询列表可以是: 表中的字段,常量值,函数,表达式 2.查询出的表格是虚拟的表格(临时表格) 一基础查询 1.查询表中单个字段 date #1.查询表中单个字段 select us…

Mysql基本语句

1、数据库的基本类型 1.关系数据库 特点&#xff1a;以表和表的关联构成的数据结构 优点&#xff1a;能表达复杂的数据关系。强大的查询语言&#xff0c;能精确查找想要的数据 缺点&#xff1a;读写性能比较差&#xff0c;尤其是海量数据的读写。数据结构比较死板 用途&am…

MySQL的基本语句

目录 1.什么是数据库 2.数据库的操作 2.1.显示数据库 2.2.创建数据库 2.3.使用数据库 2.4.删除数据库 3.数据类型 3.1数值类型 3.2字符串类型 3.3日期类型 4.表的操作 4.1创建表 4.2往表中增加信息 5.删除表 1.什么是数据库 数据库大体可以分为关系型数据库和非关系…

MySQL 操作语句大全(详细)

sql语句总结 总结内容1. 基本概念2. SQL列的常用类型3. DDL简单操作3.1 数据库操作3.2 表操作 4. DML操作4.1 修改操作&#xff08;UPDATE SET&#xff09;4.2 插入操作&#xff08;INSERT INTO VALUE&#xff09;4.3 删除操作&#xff08;DELETE&#xff09; 5. DQL操作被操作…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,…

Chrome观看高分辨率60fps视频卡顿、丢帧问题的 问题记录

朋友的一台笔记本观看YouTube和哔哩哔哩的高分辨率视频卡成PPT 系统 是 win10企业版LTSC 版本号1809&#xff0c;使用的是Chrome浏览器 配置是i58250UhHD620,观看油管4k以上视频满负荷 安装WIN10的V9解码器. 安装V9解码器还是很卡顿&#xff0c;后来发现是谷歌浏览器的硬件加速…

酷睿i5 8250u相当于什么水平 i58250u属于什么级别

i5 8250u是笔记本处理器&#xff0c;制程工艺14nm&#xff0c;拥有4核心&#xff0c;8线程&#xff0c;cpu主频1.6GHz&#xff0c;睿频3.4GHz&#xff0c;三级缓存6MB&#xff0c;集成HD620显卡&#xff0c;显卡频率300MHz&#xff0c;最大动态频率1.1GHz&#xff0c;BGA插槽13…

学计算机的用hd620,HD620核显相当于什么独立显卡 HD620核心显卡性能评测

2017年初&#xff0c;intel推出全新七代Kaby Lake架构处理器&#xff0c;无论是笔记本还是台式机都进行覆盖&#xff0c;这一代不仅仅是CPU性能提升&#xff0c;其内置的核显也进行了升级。七代笔记本CPU内置的HD620核显相当于什么独立显卡呢&#xff1f;下面装机之家来先带大家…

HD2500显卡驱动linux,intel hd 2500驱动下载

Intel HD Graphics 2500显卡驱动程序是一款可以有效解决Intel HD Graphics 2500显卡出现的一些问题的驱动工具&#xff0c;本站提供了可以在win10系统中使用的windows版Intel HD Graphics 2500显卡驱动下载地址。有需要的朋友们可以前来下载使用。 Intel HD Graphics 2500/4000…

小米笔记本Air 13.3 指纹版安装黑苹果 macOS High Sierra 10.13 教程

注意&#xff1a;本教程只适用于「小米笔记本Air 13.3 指纹版 i5-7200U」&#xff0c;别的型号哪怕是小米笔记本Air 13.3 非指纹版或者小米笔记本Pro都会存在问题。且安装新系统这件事本身存在风险&#xff0c;有可能造成数据丢失&#xff0c;请谨慎尝试&#xff01;本教程不对…