基本概念
交叉验证:
将一定比例的数据挑选出来作为训练集,将其余未选中的样本作为测试集,先在训练集中构建模型,再在测试集中做预测。
内部验证:手动将样本随机分为训练集和测试集,先在训练集中构建模型,再在测试集中进行测试。
常用三种方法:
- Hold-Out Method 简单交叉验证;
- K-fold Cross Validation (K-CV),K折交叉验证;
- Leave-One-Out Cross Validation(LOO-CV),留一法交叉验证,N折交叉验证。
简单交叉验证:
将原始的数据随机分成两组,一组作为训练集,一组作为测试集。
K折交叉验证:
将数据随机分为K个子集,对每个子集分别做一次测试集,其余的K-1组子集数据作为训练集,最终得到K个模型,用K个测试集的平均结果作为K-折交叉验证的性能指标。可以有效避免过度拟合及欠拟合状态的发生,最终得到的结果也比较有说服力。
注意:K一般不小于3
N折交叉验证:
假设原始数据有N个样本,每个样本作为测试集,其余的N-1个样本作为训练集,所以得到N个模型,用N个模型的平均结果作为此留一法交叉验证的性能指标。
相较于K折交叉验证,N折交叉验证的优势:
- 每次交叉验证,N-1个样本用于训练模型,接近原始数据分布,结果较为可靠;
- 在交叉验证过程中,没有随机因素影响最终结果,结果具有重现性。
外部验证:基于内部数据集建模完成之后,其他独立的研究团队开展的相同研究,其数据集作为外部数据的来源,进行模型的验证。
Bootstrap法
Bootstrap法