如何获取每个变量的 OA 和 Kappa 值,如下图所示?该研究使用了使用 Caret 的 RFE
问问题
1391 次
1 回答
1
如果您rfe
对数据集进行分类,您将获得此表。看起来文章已清理并重命名了一些列名,但仅此而已。
library(caret)
data(mdrr)
mdrrDescr <- mdrrDescr[,-nearZeroVar(mdrrDescr)]
mdrrDescr <- mdrrDescr[, -findCorrelation(cor(mdrrDescr), .8)]
set.seed(1)
inTrain <- createDataPartition(mdrrClass, p = .75, list = FALSE)[,1]
train <- mdrrDescr[ inTrain, ]
test <- mdrrDescr[-inTrain, ]
trainClass <- mdrrClass[ inTrain]
testClass <- mdrrClass[-inTrain]
set.seed(2)
ctrl <- rfeControl(functions = rfFuncs,method = "cv",number = 5, verbose = FALSE)
rf_profile <- rfe(train, trainClass,
ntree = 50,
rfeControl = ctrl)
rf_profile$results
包含您可以在表中看到的结果。
rf_profile$results
Variables Accuracy Kappa AccuracySD KappaSD
1 4 0.7355696 0.4599432 0.06290770 0.1274150
2 8 0.7934494 0.5736408 0.08328405 0.1725036
3 16 0.8060759 0.6011138 0.05961418 0.1222687
4 61 0.8260759 0.6411303 0.07101790 0.1483737
如果你想要这些变量的名字,你可以像这样得到它们
rf_profile$optVariables[rf_profile$results$Variables]
[1] "VRA1" "TI2" "Xt" "G.O..Cl."
于 2018-05-18T09:48:42.513 回答