【问题标题】:Rpart Improvement Score with Information Gain具有信息增益的 Rpart 改进分数
【发布时间】:2018-02-02 15:21:39
【问题描述】:

我最近一直在使用 RPART,遇到了一个我不明白的计算。

在处理信息增益时,如何计算“改进”或变量重要性(在我的测试中它们似乎相同)。

作为一个虚拟示例,我尝试学习下表:

   happy,class
   yes,p
   no,n

使用命令:

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

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

令人困惑的地方在于,拆分的改进是 1.386294。

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

【问题讨论】:

  • 嗨,格雷格,欢迎来到 stackoverflow!请提供reproducible example,以便人们可以帮助您
  • 嗨 Julian,我清理了原始帖子 - 欢迎对统计数据如何计算的一般见解!
  • rpart 是 CART 的一个实现。它使用 GINI 来决定节点分裂,而不是熵。
  • 嗨@G5W,虽然默认情况下这是真的,但当指定 split="information" 时,它应该使用熵。来源:cran.r-project.org/web/packages/rpart/vignettes/longintro.pdf 第 23 页。
  • 我看到你用过那个。我的立场是正确的。

标签: r decision-tree rpart


【解决方案1】:

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

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

根节点的熵为:-ln(1/2)*1/2*2 + -ln(1/2)*1/2*2 = -ln(1/2)*2 1.38。叶节点的熵均为0。

他们为什么使用自然日志,我不知道。

【讨论】:

    猜你喜欢
    • 2018-04-12
    • 2017-03-11
    • 2010-12-27
    • 2011-07-24
    • 2017-06-27
    • 2020-04-27
    • 2011-06-01
    • 2019-03-27
    • 2018-06-26
    相关资源
    最近更新 更多