partykit::ctree 多数随机性=TRUE
partykit::ctree randomness in majority=TRUE
我试图了解 ctree fits/predict 观察结果如何在所有预测变量中完全缺失。例如,
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
它只会跟随大多数,这意味着它们都应该进入完全没有变化的相同节点。然而我得到了他们的预测分布。
所以
- 我对
majority=TRUE
工作原理的理解正确吗?
- ctree fitting/predicting 没有任何观察到的预测变量的行如何?
顺便说一句,我尝试跟踪代码以查看如何使用 majority
参数,并看到 partykit:::.cnode
中的行 #104
具有:
prob <- numeric(0) + 1L:length(prob) %in% which.max(prob)
这对我来说很奇怪,因为结果总是 numeric(0)
。
这是 is/was 处理 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 的发布日期尚未确定,但我认为应该不会太遥远。[=13=]
我试图了解 ctree fits/predict 观察结果如何在所有预测变量中完全缺失。例如,
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
它只会跟随大多数,这意味着它们都应该进入完全没有变化的相同节点。然而我得到了他们的预测分布。
所以
- 我对
majority=TRUE
工作原理的理解正确吗? - ctree fitting/predicting 没有任何观察到的预测变量的行如何?
顺便说一句,我尝试跟踪代码以查看如何使用 majority
参数,并看到 partykit:::.cnode
中的行 #104
具有:
prob <- numeric(0) + 1L:length(prob) %in% which.max(prob)
这对我来说很奇怪,因为结果总是 numeric(0)
。
这是 is/was 处理 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 的发布日期尚未确定,但我认为应该不会太遥远。[=13=]