题目:详细阐述训练集、测试集和验证集的作用、要求及应用示例。
训练集和测试集必须严格分离,不能有交集
应随机划分数据,避免引入偏差
对于类别不平衡的数据,应采用分层抽样保持各类别比例
对于时间序列数据,应按时间顺序划分,不能随机打乱
验证集是在训练集和测试集之外的第三个数据集,主要用于模型开发过程中的调优和选择。
训练一个深度神经网络进行图像分类任务,需要确定最优的超参数配置。
对于每组超参数组合:
在训练集上训练模型
在验证集上评估性能
记录验证集准确率
对于一个客户流失预测问题,需要从多个机器学习算法中选择最适合的模型。
对于每个候选模型:
在训练集上训练模型
调整该模型的超参数(使用交叉验证或单独的验证集)
获得该模型的最优配置
| 模型 | 准确率 | AUC |
|---|---|---|
| 逻辑回归 | 82% | 0.85 |
| SVM | 84% | 0.87 |
| 随机森林 | 88% | 0.91 |
| XGBoost | 90% | 0.93 |
| 神经网络 | 89% | 0.92 |
当数据量较小时,可以使用K折交叉验证(K-Fold Cross-Validation)代替单独的验证集:
用于学习模型参数
用于调优超参数和选择模型
用于最终性能评估