【问题标题】:Decision Tree in R using rpart based on multiple splitting attributesR中的决策树使用基于多个拆分属性的rpart
【发布时间】:2015-07-14 03:01:33
【问题描述】:

我正在尝试为以下数据集上的预测模型构建决策树:

这是我的代码:

fitTree = rpart(classLabel ~ from_station_id + start_day + start_time
            + gender +  age, method = "class", data=d)
fancyRpartPlot(fitTree)

但是结果决策树只使用了其中一个属性(from_station_id)作为“拆分属性”,并不关心其他属性的值(start_day、start_time、gender、age)。结果如下:

Click 放大。

我做错了什么?

【问题讨论】:

  • 从您的数据 sn-p 看来,在from_station_id == 131 的情况下,“from_station_id”比任何其他变量都更能预测“classLabel == 2”。从您的输出看来,其他 stationID 也是如此。所以你做错了什么是假设 rpart 将使用所有变量,即使它们的预测性较差。
  • 如何构建另一个模型,或者通过删除 from_station_id 列,或者创建一个新列 from_station_id_grp 分组为预测值较低的值(您可以为此使用 Hmisc::cut2 函数,g=5 参数) ?

标签: r prediction decision-tree


【解决方案1】:

您的语法看起来正确。根据您的数据集的 sn-p,classLabel 和 from_station_id 可能密切相关(也可能是性别?)。在这种情况下,from_station_id 将是您的 classLabel 的最佳预测器,而其他变量只是没有提供信息(或者也相关但被屏蔽),并且不会显示在树上。试试:

summary.rpart(fitTree)

这将更好地向您展示拆分的方式和变量的重要性,这可以帮助您评估掩蔽。您应该避免相关的预测变量,因为它们会导致掩蔽并可能干扰交互。

如果您只在摘要中看到 from_station_id,那么您知道它忽略了其他变量,但我不确定为什么会这样。

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 2016-07-24
    • 2013-02-09
    • 2020-10-05
    • 2015-01-08
    • 1970-01-01
    • 2013-11-28
    • 2019-02-11
    • 2020-04-15
    相关资源
    最近更新 更多