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

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

(1) 定义:交叉验证(Cross-validation)主要用于建模应用中,例如PCR(Principal Component Regression) 、PLS(Partial
least squares regression)回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。这个过程一直进行,直到所有的样本都被预报了一次而且仅被预报一次。把每个样本的预报误差平方加和,称为PRESS(predicted Error Sum of Squares)。【来自wikipidia:https://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交叉和LOO(leaveone
out)CV即留一法交叉。

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) 实验三【来自机器学习导论】这里首先将数据分为两部分,一部分作为训练集,一部分作为测试集,用训练集做交叉验证选择最优参数,用测试集来选择最优模型。当然最后的误差也是有测试集来作为预测误差。

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

时间: 2024-11-04 12:13:33

大数据处理之道(实验方法<二>)的相关文章

大数据处理之道(预处理方法)

一:为什么要预处理数据? (1)现实世界的数据是肮脏的(不完整,含噪声,不一致) (2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据:数据仓库须要对高质量的数据进行一致地集成) (3)原始数据中存在的问题: 不一致 -- 数据内含出现不一致情况 反复 不完整 -- 感兴趣的属性没有 含噪声 -- 数据中存在着错误.或异常(偏离期望值)的数据 高维度 二:数据预处理的方法 (1)数据清洗 -- 去噪声和无关数据 (2)数据集成 -- 将多个数据源中的数据结合起来存放

大数据处理之道 (MATLAB 篇&lt;三&gt;)

一:起因 (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是必不可少的 : (3)可视化工具可以说百度一大篇,可是作为研究者的我们,程序猿的我们可能更希望能够抽象出一种数学模型,对现实的现象进行非常好的描述和刻画 (4)Python(数据清洗和处理) + MATLAB(模型分析) 或 c++/j

大数据之道 HMM系列&lt;二&gt;(成长)

一:HMM解码问题 (1)编程深处无非就是算法和结构,以及各种架构和版本的管理(如Git管理),因此作为程序员算法这一关是绕不过去的: (2)关于算法,个人比较崇尚的一本书是<算法导论>和ACM实战系类的算法培训: (3)对于自然语言处理领域或者部分机械学习领域的算法,HMM模型是非常经典的算法之一,非常适合初学者学习和研究: (4)HMM模型μ=(A,B,π),的状态是不可见的,我们看到的仅仅是状态表现出来的观察值和状态概率函数. 二:HMM简介(u = {N,M,A,B,pai} ---&

大数据处理之道 (MATLAB 篇(二))

一:起因 (0)开始个人非常抵触MATLAB编程语言的,肯能是部分编程人员的通病 -- 学会c/c++或者java,就会鄙视其他的语言,懒得尝试其他语言.直到有一天--他发现,他或者她发现自己精通的这门语言实在是解决不了这个问题时,才做出改变. (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是

大数据处理之道 (htmlparser 过滤器&lt;二&gt;)

一:起因 (1)最近用于任务需要一直在爬取网页HTML的内容,与类似于爬虫的HtmlParser接触的比较多,爬取无非就是过滤自己想要的信息,因此Filter是核心,当然String类中的matches(regex)函数和contains(str)函数也是非常有用的 (2)经常和爬虫打交道就会分析各式各样的网站设计以及布局:用的设计的非常有规律,如QQ空间,微博信息等爬取非常简单(当时要想翻页的话,就得模拟登陆了),有些静态网站也是比较容易爬取的:其他的就麻烦了,信息全部写在JS里面,你就会哭了

大数据处理之道 (Gibbs Sampling)

一:简介以及学习的途径 (1)吉布斯采样(Gibbs Sampling)及相关算法  (学习向Gibbs sampling, EM,  MCMC算法 等的好地方) 1) 推荐大家读Bishop的Pattern Recognition and Machine Learning,讲的很清楚,偏理论一些: 2) 读artificial Intelligence,2.3版,都有: 3) 如果英语好的话,最方便的就是查wikipedia,这个说的最清楚(研究生推荐读一读这个) 4)不要什么都百度去,百度在

大数据处理之道 (MATLAB 篇)

一:起因 (1)最近一直在处理大数据,从MB ----> GB的变化,是一次质的飞跃,相应的工具也在变 从widows到linux,从单机单核 到 hadoop多节点的计算 (2)问题来了,面对海量的数据,如何从中挖掘实用的信息或者发现潜在的现象,可视化工具可能是必不可少的 : (3)可视化工具可以说百度一大篇,可是作为研究者的我们,程序猿的我们可能更希望能够抽象出一种数学模型,对现实的现象进行非常好的描述和刻画 (4)Python(数据清洗和处理) + MATLAB(模型分析) 或 c++/j

大数据处理之道(十分钟学会Python)

一:python 简介 (1)Python的由来 Python(英语发音:/?pa?θ?n/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991 年.Python语法简洁而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结 在一起.常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的

大数据处理之道 (htmlparser获取数据&lt;一&gt;)

一:简介 (1)HTML Parser是一个用于解析Html的Java的库,可采用线性或嵌套两种方式.主要用于网页的转换或提取,他有一些特性:过滤器filter,遍历器visitors,通常的标签tagName和易用的JavaBeans.它是一个快速,健壮,并严格测试过的组件. (2)个人理解:HTMLParser遍历了网页的内容以后,以树(森林)结构保存了结果,各个节点代表HTML中的标签和属性值,非常类似于XML解析器解析后的结果,也类似与html dom的结构:HTMLParser访问结果