您的位置:首页 > 其它

机器学习 数据挖掘 数据集划分 训练集 验证集 测试集

2017-04-10 12:40 477 查看
机器学习数据挖掘之数据集划分: 训练集 验证集 测试集

Q:将数据集划分为测试数据集和训练数据集的常用套路是什么呢?

A:three ways shown as follow:


1.像sklearn一样,提供一个将数据集切分成训练集和测试集的函数:

默认是把数据集的75%作为训练集,把数据集的25%作为测试集。

2.交叉验证(一般取十折交叉验证:10-fold cross validation)

k个子集,每个子集均做一次测试集,其余的作为训练集。

交叉验证重复k次,每次选择一个子集作为测试集,并将k次的平均交叉验证识别正确率作为结果。

3.训练数据,验证数据(注意区别交叉验证数据集),测试数据(在Coursera上提到)

一般做预测分析时,会将数据分为两大部分。一部分是训练数据,用于构建模型,一部分是测试数据,用于检验模型。但是,有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。典型的例子是用K-Fold Cross Validation裁剪决策树,求出最优叶节点数,防止过渡拟合(Overfitting)。

所以:

训练数据(Test Data):用于模型构建

验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用。

测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。

references
http://www.cnblogs.com/bourneli/archive/2013/03/11/2954060.html
http://blog.csdn.net/lhx878619717/article/details/49079785 http://blog.csdn.net/chloezhao/article/details/53502674 https://segmentfault.com/q/1010000005917400
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: