こんな感じでどうでしょうか?
以下のコードを動かすには、pydot-ng モジュール及び graphviz が必要です。
bash
1pip install pydot-ng
python
1import pydot
2from sklearn.cross_validation import train_test_split
3from sklearn.datasets import load_iris
4from sklearn.ensemble import RandomForestClassifier
5from sklearn.metrics import accuracy_score
6from sklearn.tree import export_graphviz
7from IPython import display
8
9# データを読み込む。
10iris = load_iris()
11x, y = iris.data, iris.target
12
13# 学習データとテストデータに分割する。
14x_train, x_test, y_train, y_test = train_test_split(
15 x, y, test_size=0.2)
16
17# 分類器を学習する。
18classifier = RandomForestClassifier(
19 n_estimators=10)
20classifier.fit(x_train, y_train)
21
22# 予測する。
23y_pred = classifier.predict(x_test)
24accuracy = accuracy_score(y_test, y_pred)
25print('accuracy', accuracy) # accuracy 0.9
26
27# 以下がメイン
28#############################################
29
30# 1つ目の分類木から dot 形式の文字列を作成する。
31est = classifier.estimators_[0]
32dot_str = export_graphviz(
33 est,
34 out_file=None,
35 filled=True,
36 rounded=True,
37 feature_names=iris.feature_names,
38 class_names=iris.target_names)
39
40# dot 形式の文字列から pydot オブジェクトを作成する。
41graphs = pydot.graph_from_dot_data(dot_str)
42# pydot オブジェクトから png 形式の画像を作成する。
43png_data = graphs[0].create_png(prog='dot')
44# IPython に表示する。
45display.display(display.Image(png_data))

画像1つがでかいので全部の分類木の画像を繋げると見づらくなると思いますが、
一応 OpenCV で扱える numpy 形式にするコードも置いておくので、必要であれば concat してください。
python
1import cv2
2
3# png データをデコードし、numpy 形式にする。
4img = cv2.imdecode(
5 np.fromstring(png_data, np.uint8), cv2.IMREAD_COLOR)
6print(img.shape) # (895, 791, 3)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。