具有信息增益的 Rpart 改进分数

Rpart Improvement Score with Information Gain

我最近一直在使用 RPART 和 运行 进行我不理解的计算。

在处理信息增益时,"improve" 或变量重要性是如何计算的(从我的测试来看它们似乎是一样的)。

作为一个虚拟示例,我尝试学习以下内容 table:

   happy,class
   yes,p
   no,n

使用命令:

fit <-rpart(class ~ happy,data=train,parms = list(split="information"),minsplit=0)

这很简单,returns 预期的树有根,然后每个叶包含一个元素。

令人困惑的是,拆分的改进是 1.386294。

我希望这里的改进是 1(从熵 1 到儿童的熵 0),我错过了什么?

好吧,回答这个问题,因为RPART使用的是自然对数。

因此,似乎 improve score 是由节点中的元素数量缩放的熵的改进。

根节点的熵为:-ln(1/2)*1/2*2 + -ln(1/2)*1/2*2 = -ln(1/2)*2 1.38。叶子节点中的熵都是0.

为什么他们使用自然对数,我不知道。