交叉验证思想

msw0529 msw0529     2022-09-13     283

关键词:

交叉验证

写一个函数,实现交叉验证功能,不能用sklearn库。

交叉验证(Cross-Validation): 有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。常见交叉验证方法如下:

Holdout Method(保留)

  • 方法:将原始数据随机分为两组,一组做为训练集,一组做为验证集,利用训练集训练分类器,然后利用验证集验证模型,记录最后的分类准确率为此Hold-OutMethod下分类器的性能指标.。Holdout Method相对于K-fold Cross Validation 又称Double cross-validation ,或相对K-CV称 2-fold cross-validation(2-CV)
  • 优点:好处的处理简单,只需随机把原始数据分为两组即可
  • 缺点:严格意义来说Holdout Method并不能算是CV,因为这种方法没有达到交叉的思想,由于是随机的将原始数据分组,所以最后验证集分类准确率的高低与原始数据的分组有很大的关系,所以这种方法得到的结果其实并不具有说服性.(主要原因是 训练集样本数太少,通常不足以代表母体样本的分布,导致 test 阶段辨识率容易出现明显落差。此外,2-CV 中一分为二的分子集方法的变异度大,往往无法达到「实验过程必须可以被复制」的要求。)

K-fold Cross Validation(k折叠)

  • 方法:作为Holdout Methon的演进,将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标.K一般大于等于2,实际操作时一般从3开始取,只有在原始数据集合数据量小的时候才会尝试取2. 而K-CV 的实验共需要建立 k 个models,并计算 k 次 test sets 的平均辨识率。在实作上,k 要够大才能使各回合中的 训练样本数够多,一般而言 k=10 (作为一个经验参数)算是相当足够了。
  • 优点:K-CV可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性.
  • 缺点:K值选取上

Leave-One-Out Cross Validation(留一)

  • 方法:如果设原始数据有N个样本,那么留一就是N-CV,即每个样本单独作为验证集,其余的N-1个样本作为训练集,所以留一会得到N个模型,用这N个模型最终的验证集的分类准确率的平均数作为此下LOO-CV分类器的性能指标.
  • 优点:相比于前面的K-CV,留一有两个明显的优点:
    • a.每一回合中几乎所有的样本皆用于训练模型,因此最接近原始样本的分布,这样评估所得的结果比较可靠。
    • b. 实验过程中没有随机因素会影响实验数据,确保实验过程是可以被复制的.
  • 缺点:计算成本高,因为需要建立的模型数量与原始数据样本数量相同,当原始数据样本数量相当多时,LOO-CV在实作上便有困难几乎就是不显示,除非每次训练分类器得到模型的速度很快,或是可以用并行化计算减少计算所需的时间。



http://www.jianshu.com/p/48d391dab189

k折交叉验证(代码片段)

交叉验证的思想  交叉验证主要用于防止模型过于复杂而引起的过拟合,是一种评价训练数据的数据集泛化能力的统计方法。其基本思想是将原始数据进行划分,分成训练集和测试集,训练集用来对模型进行训练,测试集用来... 查看详情

交叉验证

  在建立分类模型时,交叉验证(CrossValidation)简称为CV,CV是用来验证分类器的性能。它的主体思想是将原始数据进行分组,一部分作为训练集,一部分作为验证集。利用训练集训练出模型,利用验证集来测试模型,以评估... 查看详情

交叉验证

交叉验证(CrossValidation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(trainingset),另一部分做为验证集(validationset)࿰... 查看详情

交叉验证

交叉验证(CrossValidation)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集(trainingset),另一部分做为验证集(validationset)࿰... 查看详情

交叉验证,k折交叉验证的偏差和方差分析

参考技术A交叉验证是一种通过估计模型的泛化误差,从而进行模型选择的方法。没有任何假定前提,具有应用的普遍性,操作简便,是一种行之有效的模型选择方法。人们发现用同一数据集,既进行训练,又进行模型误差估计... 查看详情

交叉验证——cross-validation

参考技术A交叉验证是建立模型后进行参数调整和模型检验的一个步骤。本文就sklearn自带的鸢尾花数据集,进行基本的建模思路整理和交叉验证梳理。注:鸢尾花案例的背景是,通过已知(历史)花的数据和对应的分类,训练出... 查看详情

机器学习3(代码片段)

...得更加稳定,但稳定不代表模型的准确率更高。 2、交叉验证  在KNN里,通过交叉验证,可以得出最合适的K值。它的核心思想是把一些候选的K逐个去尝试一遍,然后选出效果最好的K值。常用的交叉验证技术叫做K折交... 查看详情

r语言入门——多元回归交叉验证的实现(代码片段)

目录引言1、主要函数编写1.1随机数据的产生1.2CV.lm的编写1.2CV.lm的调用2、数值模拟2.1CV模拟2.2MCMC模拟3、总结引言随着模型复杂度的提高和数据量的提升,预测精度也会提高,但是使用传统的方法评估模型的精度,模... 查看详情

r语言入门——多元回归交叉验证的实现(代码片段)

目录引言1、主要函数编写1.1随机数据的产生1.2CV.lm的编写1.2CV.lm的调用2、数值模拟2.1CV模拟2.2MCMC模拟3、总结引言随着模型复杂度的提高和数据量的提升,预测精度也会提高,但是使用传统的方法评估模型的精度,模... 查看详情

r语言入门——多元回归交叉验证的实现(代码片段)

目录引言1、主要函数编写1.1随机数据的产生1.2CV.lm的编写1.2CV.lm的调用2、数值模拟2.1CV模拟2.2MCMC模拟3、总结引言随着模型复杂度的提高和数据量的提升,预测精度也会提高,但是使用传统的方法评估模型的精度,模... 查看详情

为啥交叉验证 RF 分类的性能比没有交叉验证的差?

】为啥交叉验证RF分类的性能比没有交叉验证的差?【英文标题】:WhydoescrossvalidationRFclassificationperformworsethanwithoutcrossvalidation?为什么交叉验证RF分类的性能比没有交叉验证的差?【发布时间】:2018-09-0718:10:11【问题描述】:我很... 查看详情

我是不是需要同时执行网格搜索(使用交叉验证)和交叉验证方法?

】我是不是需要同时执行网格搜索(使用交叉验证)和交叉验证方法?【英文标题】:DoIneedtoperformbothgridsearch(withcrossvalidation)andthenacrossvalidationmethod?我是否需要同时执行网格搜索(使用交叉验证)和交叉验证方法?【发布时间】... 查看详情

交叉验证

1. 在保留交叉验证(hand-outcrossvalidation)中,随机将训练样本集分成训练集(trainingset)和交叉验证集(crossvalidationset),比如分别占70%,30%。然后使用模型在训练集上学习得到假设。最后使用交叉验证集对假设进行验证,看... 查看详情

递归特征消除(rfe)+交叉验证

参考技术A递归特征消除(Recursivefeatureelimination)递归特征消除的主要思想是反复构建模型,然后选出最好的(或者最差的)特征(根据系数来选),把选出来的特征放到一边,然后在剩余的特征上重复这个过程,直到遍历了所... 查看详情

使用交叉验证提高准确性,不使用交叉验证降低准确性

】使用交叉验证提高准确性,不使用交叉验证降低准确性【英文标题】:Accuracyincreasesusingcross-validationanddecreaseswithout【发布时间】:2015-04-2114:25:01【问题描述】:我有一个关于交叉验证的问题:我正在使用朴素贝叶斯分类器按作... 查看详情

交叉验证

  交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好... 查看详情

交叉验证

交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。... 查看详情

交叉验证和网格搜索有啥区别?

】交叉验证和网格搜索有啥区别?【英文标题】:Whatisthedifferencebetweencross-validationandgridsearch?交叉验证和网格搜索有什么区别?【发布时间】:2013-10-2012:55:49【问题描述】:简单来说,交叉验证和网格搜索有什么区别?网格搜索... 查看详情