详细内容或原文请订阅后点击阅览
我们在同一数据集上调整了 4 个分类器:没有一个得到实际改进
我们通过适当的嵌套交叉验证和统计测试根据学生表现数据调整了四个分类器。结果呢?调整没有改变任何东西。
来源:KDnuggets实验简介
超参数调优经常被誉为机器学习的灵丹妙药。承诺很简单:调整一些参数几个小时,运行网格搜索,然后观察模型的性能飙升。
但它在实践中真的有效吗?
我们使用四种不同的分类器和严格的统计验证,在葡萄牙学生的表现数据上测试了这一前提。我们的方法利用了嵌套交叉验证(CV)、强大的预处理管道和统计显着性测试——整个九码。
结果?性能下降了0.0005。没错——调整实际上使结果稍微变差,尽管差异在统计上并不显着。
然而,这并不是一个失败的故事。这是更有价值的东西:有证据表明,在许多情况下,默认设置效果非常好。有时,最好的举措是知道何时停止调整并将精力集中在其他地方。
想查看完整的实验吗?查看完整的 Jupyter 笔记本,其中包含所有代码和分析。
设置数据集
我们使用了 StrataScratch 的“学生表现分析”项目的数据集。它包含 649 名学生的记录,具有 30 个特征,涵盖人口统计、家庭背景、社会因素和学校相关信息。目的是预测学生是否通过最终葡萄牙语成绩(分数 ≥ 10)。
此设置中的一个关键决定是排除 G1 和 G2 等级。这些是第一期和第二期成绩,与最终成绩 G3 的相关性为 0.83-0.92。包含它们使得预测变得非常容易,并且违背了实验的目的。我们想要确定什么可以预测在同一课程中超越先前表现的成功。
我们使用 pandas 库来加载和准备数据:
班级分布显示,100 名学生不及格(15.4%),549 名学生通过(84.6%)。由于数据不平衡,我们针对 F1 分数而不是简单的准确性进行优化。
评估分类器
我们的方法包括:
