交叉检验---训练数据,验证数据和测试数据
2013-05-08 11:41
507 查看
最近在Coursera上学习Data
Analysis课程,课程论坛中有个帖子针对交叉检验(Cross
Validation)中训练数据集(train dataset),验证数据集(Validate dataset)和测试数据集(test dataset)展开讨论,内容挺好的,记录到这里,作为备忘。
交叉检验(Cross Validation)
在数据分析中,有些算法需要利用现有的数据构建模型,比如贝叶斯分类器,决策树,线性回归等,这类算法统称为监督学习(Supervisied Learning)算法。构建模型需要的数据称之为训练数据(Train Data)。
模型构建完后,需要利用数据验证模型的正确性,这部分数据被称为测试数据(Test Data)。测试数据不能用于模型构建之中,只能用于最后检验模型的准确性。
训练数据,验证数据和测试数据
一般做预测分析时,会将数据分为两大部分。一部分是训练数据,用于构建模型,一部分是测试数据,用于检验模型。但是,有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。典型的例子是用K-Fold Cross Validation裁剪决策树,求出最优叶节点数,防止过渡拟合(Overfitting)。下面形式的描述一下前面提到的3类数据:
训练数据(Test Data):用于模型构建
验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。
K次交叉检验(K-Fold Cross Validation)
K次交叉检验的大致思想是将数据大致分为K个子样本,每次取一个样本作为验证数据,取余下的K-1个样本作为训练数据。模型构建后作用于验证数据上,计算出当前错误率。重复K次,将K次错误率平均,得到一个总体的错误率。可以通过整体错误率,估计当前整体数据用于建模的错误率。
举个例子,K = 10(常见情况),求出总体错误率为8.7%。那么将当前的所有数据全部作为训练数据,得到的模型的错误率90%的可能在9.7%左右。
参考资料
交叉验证Wik:ihttp://zh.wikipedia.org/wiki/%E4%BA%A4%E5%8F%89%E9%A9%97%E8%AD%89
Data Analysis on Coursera:https://class.coursera.org/dataanalysis-001/forum/thread?thread_id=2901
Analysis课程,课程论坛中有个帖子针对交叉检验(Cross
Validation)中训练数据集(train dataset),验证数据集(Validate dataset)和测试数据集(test dataset)展开讨论,内容挺好的,记录到这里,作为备忘。
交叉检验(Cross Validation)
在数据分析中,有些算法需要利用现有的数据构建模型,比如贝叶斯分类器,决策树,线性回归等,这类算法统称为监督学习(Supervisied Learning)算法。构建模型需要的数据称之为训练数据(Train Data)。
模型构建完后,需要利用数据验证模型的正确性,这部分数据被称为测试数据(Test Data)。测试数据不能用于模型构建之中,只能用于最后检验模型的准确性。
训练数据,验证数据和测试数据
一般做预测分析时,会将数据分为两大部分。一部分是训练数据,用于构建模型,一部分是测试数据,用于检验模型。但是,有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。典型的例子是用K-Fold Cross Validation裁剪决策树,求出最优叶节点数,防止过渡拟合(Overfitting)。下面形式的描述一下前面提到的3类数据:
训练数据(Test Data):用于模型构建
验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。
测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。
K次交叉检验(K-Fold Cross Validation)
K次交叉检验的大致思想是将数据大致分为K个子样本,每次取一个样本作为验证数据,取余下的K-1个样本作为训练数据。模型构建后作用于验证数据上,计算出当前错误率。重复K次,将K次错误率平均,得到一个总体的错误率。可以通过整体错误率,估计当前整体数据用于建模的错误率。
举个例子,K = 10(常见情况),求出总体错误率为8.7%。那么将当前的所有数据全部作为训练数据,得到的模型的错误率90%的可能在9.7%左右。
参考资料
交叉验证Wik:ihttp://zh.wikipedia.org/wiki/%E4%BA%A4%E5%8F%89%E9%A9%97%E8%AD%89
Data Analysis on Coursera:https://class.coursera.org/dataanalysis-001/forum/thread?thread_id=2901
相关文章推荐
- 交叉检验---训练数据,验证数据和测试数据
- 交叉检验---训练数据,验证数据和测试数据
- 交叉检验---训练数据,验证数据和测试数据
- 交叉检验---训练数据,验证数据和测试数据
- 将数据集切分成“训练-测试数据集”和交叉验证
- Python下的数据处理和机器学习,对数据在线及本地获取、解析、预处理和训练、预测、交叉验证、可视化
- 训练数据,验证数据和测试数据的概念(转)
- 训练数据、测试数据和验证数据
- 机器学习中训练数据集,交叉验证数据集,测试数据集的作用
- python机器学习——十次交叉验证训练的数据准备算法
- 关于机器学习的训练数据、验证数据和测试数据的形象比喻
- Python下的数据处理和机器学习,对数据在线及本地获取、解析、预处理和训练、预测、交叉验证、可视化
- 用Caffe 训练和测试MNIST数据
- 基于随机采样获取训练、测试数据示例(Python)
- caffe自带examples里面的数据的训练以及测试
- R语言使用boosting方法对数据分类与交叉验证
- Caffe研究实践 二 ------准备数据 训练 测试
- 基于随机采样获取训练、测试数据示例(Python)
- 通过loadrunner 11常规通用的C语言API类型的Vuser 方式,测试验证MySQL数据库插入、查询、修改、删除数据性能脚本实例
- 神经网络中训练数据集、验证数据集和测试数据集的区别