我从 cforest 和 randomForest 在变量重要性方面得到完全不同的结果(平均准确性降低):
require(randomForest)
require(party)
require(RCurl)
x <- getURL("https://raw.githubusercontent.com/mguzmann/r-funcs/master/data/tempData.csv")
tempData <- read.csv(text = x, quote="\"", row.names=1)
tempData$resp = as.factor(as.numeric(tempData$resp))
tempData$a = as.factor(as.numeric(tempData$a))
tempData$b = as.factor(as.numeric(tempData$b))
tempData$c = as.factor(as.numeric(tempData$c))
tempData$d = as.factor(as.numeric(tempData$d))
tempData.rf = randomForest(resp ~., tempData, importance=T)
importance(tempData.rf)
(简化输出)
平均下降准确度
a 10.18511
b 15.88859
c 27.13357
d 15.36184
tempData.cf = cforest(resp ~., tempData,
controls=cforest_unbiased(ntree=500, mtry=4))
varimp(tempData.cf)
平均下降准确度
a 0.02219259 b 0.02903704 c 0.06500741 d 0.03765926
我应该如何比较这些数字并解释它们的差异?为什么会这样?