【发布时间】:2018-05-23 21:29:22
【问题描述】:
首先,我构建了一个模型
cf1 <- cforest(y~., data = DATA, strata = DATA$y,
ntree = 200L, mtry = 10)
这里考虑到数据集非常不平衡(y=1 占整个观测值的 7%),所以我在此处添加 strata 以确保在 bagging 中不会忽略 y=1 的观测值。 cf1 工作正常,就混淆矩阵而言。但是,当我尝试通过
cf1.imp_cond <- varimp(cf1, conditional = TRUE)
返回
Error in x[strata == s] <- .resample(x[strata == s]) :
NAs are not allowed in subscripted assignments
我不知道这个错误是什么意思。有人遇到过这个吗?
----更新
这是来自我正在使用的原始数据集的操纵 test data。这是代码
cf2 <- cforest(X5_years_survival~., data = test, strata = X5_years_survival,
ntree = 200L, mtry = 6)
cf2.imp_cond <- varimp(cf2, conditional = TRUE)
我还是有错误:
Error in x[strata == s] <- .resample(x[strata == s]) :
NAs are not allowed in subscripted assignments
---更新
应用kidids_node函数时出现错误。
【问题讨论】:
-
你能发布一个最小的可重现示例吗?否则很难调试。
-
@AchimZeileis 我正在尝试这样做。顺便问一下,你认为我设置
strata的方式是应该的方式吗? -
@AchimZeileis 添加示例。
-
谢谢。但是,在执行
test <- read.csv("test.csv")之后,这对我来说成功运行。X5_years_survival是否变成factor(如cforest要求)似乎并不重要。在处理改进的示例时:尝试安装最新版本的软件包并进一步简化示例(例如,一个协变量和一个层)以可靠且快速地产生错误。 -
@AchimZeileis 你的意思是你没有遇到同样的错误吗?我安装了
partykit的1.2.1版本。
标签: r machine-learning random-forest feature-selection party