【发布时间】:2018-09-29 10:51:51
【问题描述】:
我有以下代码,它基本上尝试使用randomForest 从iris 数据中预测Species。我真正感兴趣的是找到解释物种分类的最佳特征(变量)。我发现包randomForestExplainer 是最好的
为目的服务。
library(randomForest)
library(randomForestExplainer)
forest <- randomForest::randomForest(Species ~ ., data = iris, localImp = TRUE)
importance_frame <- randomForestExplainer::measure_importance(forest)
randomForestExplainer::plot_multi_way_importance(importance_frame, size_measure = "no_of_nodes")
代码的结果产生了这个图:
根据情节,解释为什么Petal.Length和Petal.Width是最佳因素的关键因素是这些(解释基于vignette):
-
mean_min_depth– 以参数 mean_sample 指定的三种方式之一计算的平均最小深度, -
times_a_root– Xj 用于分割根节点的树的总数(即根据 Xj 的值将整个样本分成两部分), -
no_of_nodes– 使用 Xj 进行分裂的节点总数(如果树很浅,它通常等于 no_of_trees),
我不完全清楚为什么高 times_a_root 和 no_of_nodes 更好?而低mean_min_depth更好?
对此有何直观解释?
vignette 信息没有帮助。
【问题讨论】:
-
也许可以向开发人员打开github issue?他在上面写了他的主人。
标签: r machine-learning random-forest