目录
1. K折交叉验证(K-fold cross-validation)
2. 分层K折交叉验证(Stratified K-fold cross-validation)
3. 时间序列交叉验证(Time Series Split)
4. 留一交叉验证(Leave-One-Out Cross-Validation,LOOCV)
5. 留P交叉验证(Leave-P-Out Cross-Validation,LPOCV)
6. 重复K折交叉验证(Repeated K-Fold Cross-Validation)
7. 留出交叉验证(Holdout Cross-Validation)
8. 自助采样交叉验证(Bootstrap Cross-Validation)
9. 蒙特卡洛交叉验证(Monte Carlo Cross-Validation)
10. 重复随机子采样交叉验证(Repeated Random Subsampling Cross-Validation)
方法 | 任务类型 | 划分方式 | 计算量 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|---|---|
K折交叉验证 | 通用 | 将数据集分为 K 个子集,每次选取一个子集作为验证集 | 中等 | 充分利用数据,可以更准确地评估模型性能 | 计算量较大 | 通用 |
分层K折交叉验证 | 通用 | 类似于 K 折交叉验证,但保持每个折中类别比例 | 中等 | 对于不平衡数据集,保证了每个折中的类别比例 | 计算量较大 | 数据不平衡时 |
时间序列交叉验证 | 时间序列数据 | 根据时间顺序划分数据,保证训练集在测试集之前 | 低 | 考虑了时间序列数据的顺序性,适合于时间序列预测任务 | 不适用于非时间序列数据 | 时间序列预测任务 |
留一交叉验证 | 通用 | 每次将一个样本作为验证集 | 高 | 最大程度利用数据,评估结果准确 | 计算量巨大,效率低下 | 数据集较小时 |
留P交叉验证 | 通用 | 每次留下 P 个样本作为验证集 | 高 | 可以自定义留下的样本数量 P,适用于不同情况 | 计算量较大,效率低下 | 数据集较小时 |
重复K折交叉验证 | 通用 | 对 K 折交叉验证进行多次重复 | 高 | 提供更稳健的评估结果,减少因随机性引起的评估误差 | 计算量更大 | 需要更加稳健的评估结果 |
留出交叉验证 | 通用 | 将数据集划分为训练集和测试集,通常使用固定比例 | 低 | 计算量低,简单易用 | 不充分利用数据 | 数据集较大时 |
自助采样交叉验证 | 通用 | 通过自助采样的方式随机采样训练集 | 高 | 充分利用数据,对于小样本数据集效果好 | 计算量较大,可能会产生相似的训练样本,引入估计偏差 | 数据集较小,或者需要处理小样本数据时 |
蒙特卡洛交叉验证 | 通用 | 随机重复采样和验证 | 高 | 可以得到对数据的全面评估 | 计算量非常大 | 需要对模型进行全面评估时 |
重复随机子采样交叉验证 | 通用 | 通过随机 |