varimp(R partykit)为条件重要性设置返回错误
varimp (R partykit) retuns errors for conditional importance setting
首先,我通过
构建了一个模型
cf1 <- cforest(y~., data = DATA, strata = DATA$y,
ntree = 200L, mtry = 10)
这里考虑到数据集非常不平衡(y=1
占整个观测值的 7%),所以我在这里添加 strata
以确保 y=1
的观测值不会被忽略套袋。 cf1
正常工作,就混淆矩阵而言。但是,当我尝试通过
实现特征选择时
cf1.imp_cond <- varimp(cf1, conditional = TRUE)
它returns
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
函数时出现错误。
事实是,如果我保留所有 integer
类型的协变量,而不是通过 as.factor
转换它们,应用 varimp
不会出错。
首先,我通过
构建了一个模型cf1 <- cforest(y~., data = DATA, strata = DATA$y,
ntree = 200L, mtry = 10)
这里考虑到数据集非常不平衡(y=1
占整个观测值的 7%),所以我在这里添加 strata
以确保 y=1
的观测值不会被忽略套袋。 cf1
正常工作,就混淆矩阵而言。但是,当我尝试通过
cf1.imp_cond <- varimp(cf1, conditional = TRUE)
它returns
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
函数时出现错误。
事实是,如果我保留所有 integer
类型的协变量,而不是通过 as.factor
转换它们,应用 varimp
不会出错。