留一法(Leave-One-Out)与确定性
分类器
我们把每个数据集分成两个子集
- 一个用于构建分类器,该数据集称为训练集(training set)
- 另一个数据集用于评估分类器,该数据集称为测试集(test set)
训练集和测试集是数据挖掘中的常用术语。
10折交叉验证(10-fold Cross Validation)
2折交叉验证
我们将数据划分成2部分,每次利用2/3的数据训练而在其余1/3的数据上进行测试。因此,整个过程看起来如下:
- 第一次迭代 使用Part 1和Part 2训练,使用Part 3测试
- 第二次迭代 使用Part 1和Part 3训练,使用Part 2测试
最后我们将两次的结果进行平均。
但是,这种方法的问题在于我们每次只使用了一半数据进行训练。然而,我们可以通过增加划分的份数来解决这个问题。
3折交叉验证
我们将数据划分成3部分,每次利用2/3的数据训练而在其余1/3的数据上进行测试。因此,整个过程看起来如下:
- 第一次迭代 使用Part 1和Part 2训练,使用Part 3测试
- 第二次迭代 使用Part 1和Part 3训练,使用Part 2测试
- 第三次迭代 使用Part 2和Part 3训练,使用Part 1测试
对上述结果求平均。
留一法(Leave-One-Out)
如果10折交叉验证之所以好只是因为采用了90%数据的话
那么为什么不用n折交叉验证?(n是数据集中样本的数目)
例如,如果数据集中包含1000个样本,我们可以在999个样本上训练分类器,然后在另外一个样本上测试分类器,这个过程可以重复1000次,利用这种最大可能的交叉验证次数,可能会得到更精确的分类器.
在机器学习领域,n折交叉验证(n是数据集中样本的数目)被称为留一法。我们已经提到,留一法的一个优点是每次迭代中都使用了最大可能数目的样本来训练。另一个优点是该方法具有确定性。(确定性的含义往下看)
实际生产中,10折交叉验证方法最为常见。
分类的确定性
确定性的含义,指的是使用分类算法后,每一次的执行结果是否是一致的。
比如,2折与3折交叉验证,算法每次随机分为均等分,每次均分结果如果不一致(事实上,在概率上很难一致。)那么最终结果就不一致,此时我们说分类的结果是不确定的。
如果使用n折交叉验证,因为要循环n-1次,最终的结果求平均后,结果始终是一致的,所以,我们说,分类的结果是确定性的。
留一法(Leave-One-Out)与确定性相关推荐
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)
10折交叉验证我们构建一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 一旦构建了分类器,我们就可能有兴趣回答类似下述的问题: 1. 该分类器的精确率怎么样? 2. 该 ...
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)...
10折交叉验证 我们构建一个分类器,输入为运动员的身高.体重,输出为其从事的体育项目-体操.田径或篮球. 一旦构建了分类器,我们就可能有兴趣回答类似下述的问题: 1. 该分类器的精确率怎么样? 2. ...
- Leave-one-out——留一法
看论文遇到的没见过的机器学习领域的方法:Leave-one-out 简介 在机器学习领域,N折交叉验证被称为留一法(N:数据集中样本的数量). 优点: 1.每次迭代都使用最大数目的样本去训练: 2.具 ...
- Python为给定模型执行留一法交叉验证实战LOOCV(leave-one-out cross-validation)
Python为给定模型执行留一法交叉验证实战LOOCV(leave-one-out cross-validation) 目录 Python为给定模型执行留一法交叉验证实战LOOCV(leave-one ...
- 机器学习(MACHINE LEARNING)交叉验证(简单交叉验证、k折交叉验证、留一法)
文章目录 1 简单的交叉验证 2 k折交叉验证 k-fold cross validation 3 留一法 leave-one-out cross validation 针对经验风险最小化算法的过拟合 ...
- bootstrap 检验 法 原理_Stata:刀切法/留一法/Jackknife 简介
连玉君 (中山大学,arlionn@163.com) 陈鑫梅 (暨南大学,1562922593@qq.com) 空间计量专题课程 1. 引言 当你在做研究时,不知道是否有过这样的经历:花了好长时间想 ...
- 交叉验证(s折、分层、留一法)
目录 交叉验证原理 交叉验证分类 1.标准交叉验证(s折交叉验证) 代码实现 2.分层交叉验证 代码实现 StratifiedKFold参数 3.留一法交叉验证 代码实现 代码说明 交叉验证原理 交叉 ...
- ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练)
ML:模型训练/模型评估中常用的两种方法代码实现(留一法一次性切分训练和K折交叉验证训练) 目录 模型训练评估中常用的两种方法代码实现 T1.留一法一次性切分训练 T2.K折交叉验证训 模型训练评估中 ...
- python基于sklearn的SVM和留一法(LOOCV)进行二分类
基于sklearn的SVM和留一法(LOOCV)进行二分类 需要的导入包 import numpy as np from sklearn.model_selection import LeaveOne ...
最新文章
- 设计模式 四人帮_四人帮–代理设计模式
- Fedora7 安装完全过程
- 【CodeForces - 616C】The Labyrinth(bfs,并查集,STLset)
- maven summer_我在Google Summer of Code的经历
- python 实现对地图的点击_python使用folium库绘制地图点击框
- 大数据之-Hadoop_推荐系统框架图---大数据之hadoop工作笔记0015
- Java程序员排行前10的错误,请注意!
- Windows系统win10系统压缩解压软件推荐
- CSDN出品,必是精品:CSDN浏览器助手!
- 如何成为成功的Andr​​oid游戏开发
- 城市公交、地铁站点和线路数据纠偏与矢量化
- JAVA之ZIP、RAR解压工具类
- linux 内核网络中 RPS/RFS 原理Ⅰ
- Protecting Against DNN Model Stealing Attacks 论文阅读心得
- 组合数据类型(序列:列表)
- Studio用布局编辑器设计UI界面
- 【开源电机驱动】速度环控制
- VS2019离线安装包下载方法
- ImageView(仿QQ图片查看器)
- 个体工商户核名查询_个体工商户网上注册流程