我目前正在处理很容易过度拟合的数据,因此我通过测试每个深度的 roc_auc 分数来编写函数,因为我在 sklearn 上读到 max_深度通常是树过度拟合的原因。但我不确定我的想法是否正确,这里有我的结果图片:我也尝试使用后修剪方法,但我的图表看起来与我在互联网上找到的其他图表有很大不同,所以我不确定它给了我什么
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
您正在寻找的术语是交叉验证。基本思想很简单:将数据集分成训练集和验证(或测试)集。然后,您在训练集上训练模型并在验证集上测试它。如果您的模型过度拟合,它将在训练集上表现良好,但在验证集上表现不佳。在这种情况下,最好降低模型复杂性或添加所谓的正则化(例如树修剪)。
注 1:在某些情况下(例如在神经网络中),同时存在验证集和测试集(除了训练集之外)。我不会在这里详细介绍,但请不要与不同上下文中的这些术语相混淆。
注2:交叉验证是一个非常标准的事情,它甚至给另一个StackExchange站点起了一个名字——Cross Validated,在这里你可以得到更多关于统计数据的答案。另一个也许更合适的网站有一个不言自明的名称——数据科学。
添加回答
举报
0/150
提交
取消