机器学习数据集划分方法

一、留出法

1、将数据集 D D D 划分为两个互斥的集合:训练集 S S S 和测试集 T T T

2、训练/测试集划分时要保持数据分布一致性,即保证训练集和测试集中类别比例一致,可采用分层采样

3、在给定训练/测试样本的比例后,仍然存在多种划分方法对初始数据集 D D D 进行分割,如把 D D D 中样本进行排序,然后把前350个正例放到训练集中,也可把后350个正例放到训练集中。一般采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。

4、存在问题:若令训练集 S S S 包含绝大数样本,则训练处的模型可能更接近于用 D D D 训练出的模型,但由于 T T T 较小,评估结果可能不够稳定准确;若令测试集 T T T 包含多一些样本,则训练集 S S S D D D 差别更大了,被评估的模型与用 D D D 训练出的模型相比可能有较大差别,从而降低了评估结果的保真性。可从“偏差-方差”角度来理解:测试集小时,评估结果为方差较大;训练集小时,评估结果为偏差较大。

5、常见划分比例:训练集/测试集 = 2/1~4/1。

二、交叉验证法

1、将数据集 D D D 划分为 k k k 个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性,即从 D D D 中通过分层采样得到。然后每次用 k − 1 k-1 k1 个子集的并集作为训练集,余下的 1 1 1 个子集作为测试集,得到 k k k 组训练/测试集,最终返回这 k k k 个测试结果的均值。

2、交叉验证评估结果的稳定性和保真性很大程度上取决 k k k 的取值,通常把交叉验证法称为 “ k k k 折交叉验证”, k k k 最常取用的值为10。

3、与留出法相似,将数据集 D D D 划分为 k k k 个子集同样存在多种划分方式,为减小因样本划分不同而引入的差别, k k k折交叉验证同查要随机使用不同的划分重复 p p p 次,最终的评估结果是这 p p p k k k 折交叉验证的结果的均值,常见的有 “10次10折交叉验证”。

4、特例:留一法,即将 D D D 划分为 m m m 个子集( m m m D D D 中的样本数)。留一法不受随机样本划分方式的影响,被评估的模型与期望评估用的 D D D 训练出来的模型很相似,但模型训练的计算开销很大。

三、自助法

1、在留出法与交叉验证法中,会因训练样本规模的不同而导致估计偏差,留一法计算复杂度又太高,而自助法可以减少训练样本规模不同造成的影响,同时还能比较高效的进行实验估计。

2、给定包含 m m m 个样本的数据集 D D D ,对它进行采样产生数据集 D ′ D' D ,每次随机从 D D D 中挑选一个样本,将其拷贝放入 D ′ D' D ,然后再将这个样本放回初始数据集 D D D ,使得该样本在下次采样时仍可能被采样到,重复此过程 m m m 次,得到包含 m m m 个训练样本的数据集 D ′ D' D D D D 中样本在 m m m 次采样中始终不被采样到的概率是 ( 1 − m ) m (1-m)^m (1m)m 取极限得到
lim ⁡ m → + ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 \lim_{m \to +\infty}(1-\frac{1}{m})^m=\frac{1}{e} \approx 0.368 m+lim(1m1)m=e10.368
通过自助采样,输出数据集 D D D 中约有36.8%的样本未出现在采样数据集 D ′ D' D 中,于是用 D ′ D' D 做训练集, D − D ′ D-D' DD 做测试集。

3、自助法在数据集较小、难以有效划分训练/测试集时很有用。此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法又很大的好处。

4、自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差,因此在初始数据量足够是,留出法和交叉验证法更常用。

四、调参与最终模型

1、将数据集划分为训练集、验证集和测试集。

2、基于验证集上的性能在进行模型的选择和调参。

3、模型选择和调参方法使用网格搜索,参数的选择采用先划定参数范围和变化步长,再进行网格搜索,这样选定的参数往往不是最佳的,但这是在计算开销和性能估计之间进行折中的结果。

4、在模型和参数选定后,将训练集和验证集合并,在合并完的数据集上用选定的模型和参数重新训练一个模型,最后交给测试集评估。


参考文献

周志华 著.机器学习,北京:清华大学出版社,2016. (ISBN 978-7-302-42328-7)

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种通过计算机程序来实现人工智能的方法。而分类算法是机器学习中的一种常用技术,它可以将数据集中的实例划分到不同的类别中。 Adult数据集是一个常用的机器学习数据集,其中包含了一些关于人口统计数据的信息,以及每个人的收入水平是否超过50K美元的标签。使用分类算法可以对这个数据集进行分析和预测,找出其中包含的模式和规律。 在处理Adult数据集时,我们可以使用各种分类算法。其中,朴素贝叶斯算法是一种常用的分类算法之一。它基于贝叶斯定理,通过计算不同特征出现的概率来进行分类。朴素贝叶斯算法简单且高效,在处理大规模数据集时性能很好。 另一个常用的分类算法是决策树算法。决策树算法通过对数据集进行逐步划分,形成一个树状结构,从而将实例分类到不同的叶子节点中。决策树算法具有易解释性和可视化性,能够清晰地展示出分类模型的决策过程。 除了以上两种算法外,还有支持向量机(SVM)、随机森林(Random Forest)等分类算法可以应用在Adult数据集的分类任务中。这些算法各有特点,在不同场景下可能具有不同的效果。 总之,机器学习的分类算法可以应用在Adult数据集等各种任务中,通过对数据集的分析和预测,帮助我们了解数据背后的规律和趋势,为决策和优化提供支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值