【实例】随机森林可视化的方法(含Python代码)

随机森林是多棵决策树的组合,使用scikit-learn时没有直接的方法显示随机森林,只能拆解成单棵树来显示。使用随机森林的属性clf.estimators_获取随机森林的决策树列表( 注意,estimators后边有一个下划线 ’ _’ )

代码

from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier
from IPython.display import Image
from sklearn import tree
import pydotplus

# 仍然使用自带的iris数据
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 训练模型,限制树的最大深度4
clf = RandomForestClassifier(max_depth=4)
#拟合模型
clf.fit(X, y)

Estimators = clf.estimators_
for index, model in enumerate(Estimators):
    filename = 'iris_' + str(index) + '.pdf'
    dot_data = tree.export_graphviz(model , out_file=None,
                         feature_names=iris.feature_names,
                         class_names=iris.target_names,
                         filled=True, rounded=True,
                         special_characters=True)
    graph = pydotplus.graph_from_dot_data(dot_data)
    graph.write_pdf(filename)

我们看一下结果为:
【实例】随机森林可视化的方法(含Python代码)_第1张图片
【实例】随机森林可视化的方法(含Python代码)_第2张图片
我们生成了100个PDF文件,每个文件为一个决策树:
【实例】随机森林可视化的方法(含Python代码)_第3张图片
【实例】随机森林可视化的方法(含Python代码)_第4张图片
。。。。。

【实例】随机森林可视化的方法(含Python代码)_第5张图片

你可能感兴趣的:(机器学习系列文章,python,随机森林,机器学习,可视化)