具有信息增益的 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.
为什么他们使用自然对数,我不知道。
我最近一直在使用 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.
为什么他们使用自然对数,我不知道。