摘自随机森林的树是否具有参考价值?

时间:2019-04-17 04:14:32

标签: python machine-learning scikit-learn random-forest decision-tree

我在Python中使用scikit-learn运行<button @click="review.isActive = true"> 。因为我想可视化随机森林以实现不同功能之间的关联,所以我使用RandomForestClassifier()来实现此目标。

export_graphviz()

但是,与决策树不同,随机森林将产生许多树,这取决于estimator1 = best_model1.estimators_[0] from sklearn.tree import export_graphviz export_graphviz(estimator1, 'tree_from_optimized_forest.dot', rounded = True, feature_names=X_train.columns, class_names = ["No", "Yes"], filled = True) from subprocess import call call(['dot', '-Tpng', 'tree_from_optimized_forest.dot', '-o', 'tree_from_optimized_forest.png', '-Gdpi=200']) from IPython.display import Image Image('tree_from_optimized_forest.png', "w") n_estimators的数量。

RandomForestClassifier()

此外,由于best_model1 = RandomForestClassifier(n_estimators= 100, criterion='gini', random_state= 42, ) 使用所有样本仅生成一棵树,因此我们可以直接解释这棵树上的结果。

相反,Random Forests受过训练,可以制作几棵不同的树,然后在这些树中投票决定结果。另外,这些树的内容是不同的,因为随机森林具有自举,装袋,袋装...等方法。

因此,我想问一问,如果仅根据DecisionTreeClassifier()的结果来可视化其中一棵树,该树是否具有一定的参考值?

我可以直接解释这棵树的内容作为整体数据的分析结果吗?如果不是,RandomForestClassifier()是否是通过可视化图像分析特征之间相关性的唯一方法?

非常感谢!

1 个答案:

答案 0 :(得分:0)

在机器学习中,模型的可解释性和复杂性之间始终存在这种关系,而您的帖子与此直接相关。

决策树是一些非常简单但需要大量解释的模型,但是由于它们不够复杂(遭受偏见),因此通常无法学习非常复杂的功能,因此人们来了。与随机森林分类器有关。随机森林减少了香草决策树的偏差并增加了更多的方差,但不幸的是,在此过程中,它们剥夺了直接的可解释性属性。

但是,仍然有一些工具可以帮助您了解学习的功能和功能的贡献,其中一种工具是treeinterpreter,您可以在此{{3 }}。