2017-07-07 66 views
1

私はgradient boost classifierを訓練しました。hereと表示されたgraphviz_exporterツールを使用して視覚化したいと思います。Sklearn GradientBoostingClassifierを視覚化するには?

私はそれをしようとすると、私が得る:

AttributeError: 'GradientBoostingClassifier' object has no attribute 'tree_' 

graphviz_exporterがdecision treesのためのものですので、これはですが、私は、勾配ブースト分類器は、基本的な決定木を持っている必要がありますので、それを可視化する方法は、まだだと思います。

誰かがそれを行う方法を知っていますか?

+1

あなたはXGBoost [リンク](http://machinelearningmastery.com/visualize-gradient-boosting-decision-trees-xgboost-python/)を使用しようとしましたか? – sera

+0

私をXGBoostライブラリに紹介してくれてありがとう。私はそれにチェックをつけますが、Sklearnを使ってそれを行う方法を見つけましたが、 –

答えて

3

アトリビュートエスティメータには、基本的なデシジョンツリーが含まれています。次のコードは、訓練されたGradientBoostingClassifierのツリーの1つを表示します。

clf = GradientBoostingClassifier(
    n_estimators=200, 
    learning_rate=1.0, 
    max_depth=3, 
    random_state=42 
) 
clf = clf.fit(X[:600], Y[:600]) 


# Get the tree number 42 
sub_tree_42 = clf.estimators_[42, 0] 

dot_data = tree.export_graphviz(
    sub_tree_42, 
    out_file=None, filled=True, 
    rounded=True, 
    special_characters=True, 
    proportion=True, 
) 
graph = pydotplus.graph_from_dot_data(dot_data) 
Image(graph.create_png()) 
+2

はい、この場合、200の見積もりがあります。だからそれを理解するために200本の木をプリントアウトするのは実用的でないか、あるいは役に立たない。 [もっと見る](https://arogozhnikov.github.io/2016/06/24/gradient_boosting_explained.html) –

+0

ありがとうございました、そのページは私が全体のコンセプトをよりよく理解するのに本当に便利です –