首先,我建立了一个模型
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)
它回来了
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)
不过,我还是有错误:
x[strata==s]<-.resample(x[strata==s])中的错误:
在下标的分配中不允许使用NAS
---更新
错误发生在
kidids_node
功能已应用。