• 大数据处理之道(实验方法<二>)


    一:交叉验证(crossvalidation)(附实验的三种方法)方法简单介绍  

    (1) 定义:交叉验证(Cross-validation)主要用于建模应用中,比如PCRPrincipal Component Regression) 、PLSPartial least squares regression)回归建模中。在给定的建模样本中。拿出大部分样本进行建模型。留小部分样本用刚建立的模型进行预报。并求这小部分样本的预报误差。记录它们的平方加和。这个过程一直进行,直到全部的样本都被预报了一次并且仅被预报一次。

    把每一个样本的预报误差平方加和。称为PRESS(predicted Error Sum of Squares)。【来自wikipidiahttps://zh.wikipedia.org/wiki/%E4%BA%A4%E5%8F%89%E9%A9%97%E8%AD%89#K-fold_cross-validation

    (2)分类:

    交叉验证一般分为三类:double-fold CV即常常所说的2折交叉。10-fold交叉和LOOleaveone outCV即留一法交叉。


    2折:将原始数据集DataSet均分为两份:一份作为训练集,即trainingSet。一份作为測试集,即testingSet,然后用训练集去做训练,用測试集去验证;之后再将训练集作为測试集,測试集作为训练集进行迭代一次,将两次所得的误差经行处理作为整体数据的预測误差。

    (注:这里强调一点,就是数据集一定要均分为两份,理由是:作为训练集。数据量一定要不小于測试集,所以在迭代的过程中,使得数据不出现错误情况。必须均分。)

    K-折:(在这里说下K-折)是在将数据集分成K个子集,K个子集中得一个作为測试集,而其余的K-1个数据集作为训练集,最后对K个数据子集的错误计算均值,K次迭代验证是对监督学习算法的结果进行评估的方法。数据集的划分一般採用等均分或者随机划分。


    LOO:这种方法是K折的一种特列。就是把数据分为N份,事实上每一份都是一个样本,这样迭代N次,计算最后的误差来作为预測误差。


    (3) 度量方法:在以上的交叉验证的最后都提到了数据误差,由于没验证一次都有一次数据误差,经行K折验证,进行迭代K次,这次误差的处理也有不同的方法,也就是度量方法,比方你取平均值ME,或者方差等都是能够的。还有平均标准误差等,都能够作为最后的验证误差。

    (4) 以下是3-fold cross validation


    二、实验数据处理方法


    (1) 验证:是指把数据分为两部分。一部分作为训练集。即trainingSet,一部分为測试集,即testingSet,一般前者占数据的70%,后者占数据的30%,用训练集来进行训练,用測试集来进行检验,将最后的误差作为整体预測误差。
    (注:在这里大家要注意与2折交叉验证的差别。主要在数据集的分和检验上)

    (2)交叉验证:在这里就不叙述了。就是利用交叉验证的结果即作为參数选择的标准,同一时候也作为模型择优的标准。

    (3) 实验三【来自机器学习导论】这里首先将数据分为两部分,一部分作为训练集,一部分作为測试集,用训练集做交叉验证选择最优參数,用測试集来选择最优模型。

    当然最后的误差也是有測试集来作为预測误差。



    以上是三种实验处理的方法,纠正哪种方法好,都不能做什么评论。仅仅能说适合你的胃口,或者你专业的胃口,或者看客的胃口…… 

  • 相关阅读:
    使用docker部署微服务
    配置git仓库SSH秘钥,实现免密登录
    windows添加打印机失败
    流媒体之HLS与DASH
    docker安装mysql8.0
    去它的不要找客观原因
    idea提交代码到gitee报错:The requested URL returned error: 403
    使用docker compose微服务编排
    docker安装redis
    OpenGL环境安装
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7105289.html
Copyright © 2020-2023  润新知