【问题标题】:partykit::ctree randomness in majority=TRUEpartykit::ctree 在多数 = TRUE 的随机性
【发布时间】:2016-09-01 02:04:57
【问题描述】:

我试图了解 ctree 如何在所有预测变量中完全缺失的情况下拟合/预测观察结果。例如,

library(partykit)
airq <- subset(airquality, !is.na(Ozone))
airq <- rbind(airq,data.frame(Ozone=rnorm(50),Solar.R=NA,Wind=NA,Temp=NA,Month=NA,Day=NA))
airct <- ctree(Ozone ~ ., data = airq,control = ctree_control(majority = TRUE))
table(tail(predict(airct,type="node"),50))

airq 的最后 50 行缺少所有预测变量,通过阅读文档,我得到的印象是,majority=TRUE 将跟随大多数,这意味着它们都应该进入同一个节点而没有变化一点也不。然而我得到了他们的预测分布。

所以

  1. 我对@9​​87654324@ 工作原理的理解是否正确?
  2. ctree 如何拟合/预测没有观察到的预测变量的行?

顺便说一句,我尝试跟踪代码以查看majority 参数的使用方式,并看到partykit:::.cnode 中的#104 行有:

prob <- numeric(0) + 1L:length(prob) %in% which.max(prob)

这对我来说看起来很奇怪,因为结果总是numeric(0)

【问题讨论】:

    标签: r party


    【解决方案1】:

    这是/曾经是处理majority 控制参数的错误。它最近已在 R-Forge 存储库中修复(请参阅https://R-Forge.R-project.org/R/?group_id=261),但尚未发布到 CRAN。运行后

    install.packages("partykit", repos = "http://R-Forge.R-project.org")
    

    一切都应该按预期工作。 CRAN 的发布日期尚未确定,但我认为应该不会太遥远。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-19
      • 2015-12-26
      • 1970-01-01
      • 2016-08-12
      • 2017-06-17
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多