我如何判断我的模型是否从预测概率的分布中过度拟合?

数据挖掘 Python 分类 可能性 lightgbm 概率校准
2022-02-16 15:48:47

全部,

我正在训练光梯度提升,并使用了所有必要的参数来帮助过度拟合。我绘制了模型的预测概率(即概率患有癌症)分布(在使用校准分类器校准之后),即它们的直方图或 kde . 正如你从下面看到的那样,我的第 1 课的概率集中在上端和下端。

我也尝试过使用bandwith来平滑它,它不会过多地平滑颠簸。你认为这显示了我的模型什么?第 1 类(患有癌症)的模型为该类分配了更大的概率,这不是一件好事吗?

我不确定如何解释这个或我可能会出错的地方

在此处输入图像描述

红色曲线是阳性类(患有癌症),蓝色曲线是没有。下面是用于生成的图。

results = df[['label','predicted_prob']]

colors = ['b', 'r']



for label in [0, 1]:
    results[results['label'] == label]['predicted_prob'].plot.kde(bw_method=0.35,color=colors[label])
plt.xlim(0,1)
1个回答

这样的情节并不能真正告诉您有关过度拟合的信息。

首先,检查您的校准是否运作良好;不正确的校准可能会将概率推到极端。否则,如此极端的概率分布表明数据只是自然地分成易于检测的癌症部分和其余部分。在后者中,看起来你得到了相当不错但不是很好的案例排序。