2017-08-28 23 views
2

私はxgboostを初めて使用しています。私はxgboostモデルを視覚化したいと思います。Xgboost plot_tree Error:ValueError:ブースターがブースターインスタンスである必要があります

ここに私のコードは、コードはチュートリアルから来て、おそらくバグがありません。

from numpy import loadtxt 
from xgboost import XGBClassifier 
from xgboost import plot_tree 
import matplotlib.pyplot as plt 

dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",") 
X = dataset[:,0:8] 
y = dataset[:,8] 
model = XGBClassifier() 
model.fit(X, y) 
plot_tree(model) 
plt.show() 

I Ubuntuを使用して、私はgraphvizのをインストールして、このコードを実行する私は、キーポイントは私のモデルは、ブースターのインスタンスではありません知っている

Traceback (most recent call last): 
File "a.py", line 15, in <module> 
    plot_tree(model) 
    File "/home/statham/anaconda2/lib/python2.7/site-packages/xgboost/plotting.py", line 214, in plot_tree 
    g = to_graphviz(booster, num_trees=num_trees, rankdir=rankdir, **kwargs) 
    File "/home/statham/anaconda2/lib/python2.7/site-packages/xgboost/plotting.py", line 160, in to_graphviz 
    raise ValueError('booster must be Booster instance') 
ValueError: booster must be Booster instance 

を取得します、私はGoogleで検索しましたし、私は」なかったの私のモデルをBoosterのインスタンスに変換する方法を教えてもらえますか?前もって感謝します。

答えて

1

私は答えを見つけます。

だけに

plot_tree(model) 

を変更:

plot_tree(model._Booster) 

、それが動作します。

+0

自分自身を誇りに思います。 – Statham

関連する問題