如何从R中的随机森林中提取if-then规则?

时间:2019-07-12 06:30:08

标签: r random-forest

我需要提取与随机森林模型中所有树对应的if-then规则。

我正在使用RRF和inTress软件包。

library(RRF)
library(inTrees)
treeList <- RF2List(rf)
ruleExec <- extractRules(treeList,X,digits=4)
ruleExec <- unique(ruleExec)

这给了我以下输出:-

X[,9]>0.599 & X[,10]>2.2447

我需要预测相应的类,例如:-

If X[,9]>0.599 & X[,10]>2.2447 then Class1

1 个答案:

答案 0 :(得分:0)

您可以使用getRuleMetric中的inTrees函数。根据{{​​1}}的文档:

  

将结果分配给条件并衡量规则

下面的示例将虹膜数据集设为inTrees作为目标:

Species

输出:

ruleMetric <- getRuleMetric(ruleExec, X, target)