我们如何计算简单决策树的 AUC?

数据挖掘 机器学习
2021-10-09 05:40:55

设置很简单:使用简单的决策树进行二元分类,树的每个节点都有一个应用于单个特征的阈值。通常,构建 ROC 曲线需要将决策阈值移动到不同的值上,并计算该变化对预测的真阳性率和假阳性率的影响。在简单的固定决策树的情况下,决策阈值是多少?

1个回答

为了构建 ROC 曲线和 AUC(曲线下面积),您必须有一个二元分类器,它在分类时为您提供分布(或至少一个分数),而不是分类标签。举个例子,假设你有一个二元分类模型,有类C1C2. 对于给定的实例,您的分类器必须返回一个分数C1 另一个为 C2. 如果这个分数是类似概率的(优选的),而不是类似的东西p(C1), p(C2)会工作。用简单的英语翻译为“我(模型)将此实例分类为C1 有概率 p(C1), 并作为 C2 有概率 p(C2)=1-p(C1)”。

这适用于所有类型的分类器,不仅适用于决策树。有了这些分数,您就可以通过改变阈值来计算 ROC 或 AUCp(C1) 值,从最小值到最大值。

现在,如果您有一个决策树的实现,并且您想要更改该实现以返回分数而不是标签,您必须计算这些值。决策树最常用的方法是使用叶节点中类的比例。因此,例如,您已经构建了一个决策树,并且当您预测一个实例的类时,您会到达一个叶节点,该叶节点(从学习阶段存储)10 个类实例C1 和 15 个类实例 C2,您可以使用比率作为分数。因此,在我们的示例中,您将返回p(C1)=10/(10+15)=0.4 类概率 C1p(C2)=15/(10+15)=0.6 上课的概率 C2.

为了进一步阅读 ROC 曲线,我发现最好的和鼓舞人心的信息来源是 Tom Fawcett 的一篇名为《ROC 分析简介》的论文,它在这个主题上是金子。