因为我们只有一个数据集,既要训练,又要测试,所以我们需要对测试集进行适当处理,从中产生训练集 机器学习数据集划分常用方法_交叉验证 和测试集 机器学习数据集划分常用方法_机器学习_02。使用模型在测试集上的测试误差作为泛化误差的近似。

无论什么数据集拆分方法,我们都需要注意:

  • 在划分训练集和测试集时,要尽可能保持数据分布的一致性;
  • 在确定划分方法后,可以通过若干次划分、重新试验评估取平均值来求得更准确的评估方法。
方法一:留出法(简单交叉验证)

直接将数据集 机器学习数据集划分常用方法_数据集_03 划分为两个互斥的集合,其中一个集合作为训练集 机器学习数据集划分常用方法_交叉验证,另一个作为测试集 机器学习数据集划分常用方法_机器学习_02,即 机器学习数据集划分常用方法_机器学习_06。一般来说,我们将 机器学习数据集划分常用方法_机器学习_07 - 机器学习数据集划分常用方法_交叉验证_08

相关教材:《机器学习》(周志华):2.2.1(留出法);《统计学习方法》(李航):1.5.2.1(简单交叉验证)

方法二:交叉验证法(S 折交叉验证)

先将数据集 机器学习数据集划分常用方法_数据集_03 划分为 机器学习数据集划分常用方法_机器学习_10 个大小相似的互斥子集,即 机器学习数据集划分常用方法_机器学习_11,然后每次利用 机器学习数据集划分常用方法_交叉验证_12 个子集的并集作为训练集 机器学习数据集划分常用方法_交叉验证,利用余下的子集作为测试集 机器学习数据集划分常用方法_机器学习_02。这样就得到了 机器学习数据集划分常用方法_机器学习_10 组训练集和测试集,从而可进行 机器学习数据集划分常用方法_机器学习_10 次训练和测试,最终这 机器学习数据集划分常用方法_机器学习_10

相关教材:《机器学习》(周志华):2.2.2(交叉验证法);《统计学习方法》(李航):1.5.2.2(S 折交叉验证)

方法三:留一法(留一交叉验证)

不妨设交叉验证法中数据集 机器学习数据集划分常用方法_数据集_03机器学习数据集划分常用方法_数据集_19 个样本,若令 机器学习数据集划分常用方法_机器学习数据集划分常用方法_20,则得到了留一法。

相关教材:《机器学习》(周志华):2.2.2(交叉验证法);《统计学习方法》(李航):1.5.2.3(留一交叉验证)

方法四:自助法

不妨设数据集 机器学习数据集划分常用方法_数据集_03机器学习数据集划分常用方法_数据集_19 个样本,从 机器学习数据集划分常用方法_数据集_03 中有放回地随机抽取 机器学习数据集划分常用方法_数据集_19 个样本,构成训练集 机器学习数据集划分常用方法_交叉验证。此时每个样本不被采到的概率为 机器学习数据集划分常用方法_机器学习数据集划分常用方法_26,即通过有放回的随机抽样,约有 36.8% 的样本未出现在训练集之中,这些样本即为测试集 机器学习数据集划分常用方法_机器学习_02

相关教材:《机器学习》(周志华):2.2.3(自助法)