【问题标题】:The result of rpart is just with 1 rootrpart 的结果只有 1 个根
【发布时间】:2014-01-26 09:38:00
【问题描述】:

在我的数据集中,泄漏有两个值 1,0。只有大约 300 行有 1,569378 行中有更多有 1。这就是我在 rpart 结果中只得到 1 个根的原因。

我该如何解决这个问题?

fm.pipe<-Leakage~PipeAge +PipePressure

> printcp(CART.fit)

Regression tree:
rpart(formula = fm.pipe, data = Data)

Variables actually used in tree construction:
character(0)

Root node error: 299.84/569378 = 0.00052661

n= 569378 

         CP nsplit rel error xerror xstd
1 0.0033246      0         1      0    0

【问题讨论】:

    标签: r rpart


    【解决方案1】:

    如果自变量没有提供足够的信息来生长树,则可能没有办法“解决”这个问题。例如,请参阅 rpart.control 的帮助:“不会尝试任何不会将整体失配度降低 cp 的分割。”您可以尝试放松控制参数,但是不能保证这会导致树长出根。

    CART.fit <- rpart(formula=fm.pipe, data=Data, control=rpart.control(minsplit=2, minbucket=1, cp=0.001))
    

    【讨论】:

      【解决方案2】:

      我不确定我是否理解您的行长问题,但该错误通常意味着:

      rpart 使用约束来构建决策树。这是默认值,来自the docs

      rpart.control(minsplit = 20, minbucket = round(minsplit/3), cp = 0.01, 
            maxcompete = 4, maxsurrogate = 5, usesurrogate = 2, xval = 10,
            surrogatestyle = 0, maxdepth = 30, ...)
      

      您需要减少这些限制。正如@JeanVAdams 所说,从最低限度开始:

      rpart(formula=fm.pipe, data=Data, 
            control=rpart.control(minsplit=1, minbucket=1, cp=0.001))
      

      你的第一个结果可能会有太多的节点,所以你必须慢慢建立这些限制,直到你得到一个合适大小的树。


      如果您仍然感到困惑,这里有一个示例

      假设您正在查看杂货店数据,并且想要查看最受欢迎的购物时间树。只有24小时,对吧?所以自变量只有 24 种可能性。 Rpart 的条件是

      “一个节点中必须至少有 20 个东西我才能拆分它。”

      这意味着您的节点甚至不能拆分一次。即使您有 150 亿行,也只有 24 种可能的拆分方式。它可能比这更复杂,但这是一个很好的起点。

      我实际上正在研究这个确切的问题(按小时计算的购物者),我不得不将我的限制保持在尽可能低的水平,以便获得一棵树:

      rpart(formula=fm.pipe, data=Data, control=rpart.control(minsplit=1, minbucket=1, cp=0.001))

      【讨论】:

        【解决方案3】:

        我的数据集仅包含 14 行。尝试使用以下代码:

        dtm<-rpart(playtennis~., weathe_train, method="class", minsplit=2, minbucket=1)
        

        【讨论】:

          猜你喜欢
          • 2015-05-23
          • 1970-01-01
          • 1970-01-01
          • 2018-04-12
          • 2016-02-21
          • 2010-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多