我有以下代码,它基本上尝试使用randomForestSpecies
预测数据。我真正感兴趣的是找到解释物种分类的最佳特征(变量)。我发现包randomForestExplainer是最好的。iris
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 是最佳因素的关键因素是这些(解释基于小插图):
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
越低越好?
对此有何直观解释?
小插图信息没有帮助。