【发布时间】:2019-04-13 10:55:39
【问题描述】:
我使用包“randomForestSRC”,我想同时预测两个变量。我单独预测这两个变量没有问题,但无法让组合发挥作用。这是一个mwe:
library(randomForestSRC)
# create dataset, only continuous variables
dat <- mtcars[,c("drat", "wt", "qsec")]
dat$drat_wt <- dat$drat*dat$wt
dat$drat_qsec <- dat$drat*dat$qsec
train <- sample(nrow(dat), round(nrow(dat)*0.8))
# train the algorithms with only one outcome variable
test_1 <- rfsrc(drat_wt ~ . ,data = dat[train,],
importance = 'permute')
test_2 <- rfsrc(drat_qsec ~ . ,data = dat[train,],
importance = 'permute')
# train the radom forest with multiple outcome variables
test_3 <- rfsrc(cbind(drat_qsec,drat_wt) ~ . ,data = dat[train,],
importance = 'permute')
test_4 <- rfsrc(Multivar(drat_qsec,drat_wt) ~ . ,data = dat[train,],
importance = 'permute')
# predict all the random forest data
pred_1 <- predict(test_1, dat[-train,], na.action= "na.impute")
pred_2 <- predict(test_2, dat[-train,], na.action= "na.impute")
pred_3 <- predict(test_3, dat[-train,], na.action= "na.impute")
pred_4 <- predict(test_4, dat[-train,], na.action= "na.impute")
现在对于只有一个结果的随机森林(pred_1 和 pred_2),有一个包含预测值的索引 pred_1$predicted,但对于其他随机森林则不然。
奖励:test_3 和 test_4 公式有什么不同吗?在文档中找不到任何关于此的内容。
【问题讨论】:
标签: r random-forest