如何用graphviz绘制一棵树?
How to graph a tree with graphviz?
我无法重现一个简单的例子。事情是这样的:
import pandas as pd
import numpy as np
import sklearn as skl
from sklearn import tree
from sklearn.cross_validation import train_test_split as tts
# import data and give a little overview
sample = pd.read_stata('sample_data.dta')
s = sample
# Let's learn
X = np.array((s.crisis, s.cash, s.industry, s.current_debt, s.activity)).reshape(1000, 5)
y = np.array(s.wc_measure)
X_train, X_test, y_train, y_test = tts(X, y, test_size = .8)
my_tree = tree.DecisionTreeClassifier()
clf = my_tree.fit(X_train, y_train)
predictions = my_tree.predict(X_test)
# Graph the tree
from sklearn.externals.six import StringIO
import pydotplus
dotfile = StringIO()
tree.export_graphviz(clf, out_file=dotfile)
pydotplus.graph_from_dot_data(dotfile.getvalue()).write_png("my_tree.png")
当我尝试绘制树图时,出现以下错误:
pydotplus.graphviz.InvocationException: GraphViz's executables not found
知道问题出在哪里吗?我完全遵循 graphviz 的文档。
看来你根本就没有安装graphviz软件。在使用该模块之前,您应该 download 并安装它。
第 1 步,使用'sudo apt-get install graphviz
' if ubuntu、'brew install graphviz
' if OSX
安装 graphviz C-version
第 2 步,通过 pip 安装包 'graphviz' sudo pip install graphviz
我无法重现一个简单的例子。事情是这样的:
import pandas as pd
import numpy as np
import sklearn as skl
from sklearn import tree
from sklearn.cross_validation import train_test_split as tts
# import data and give a little overview
sample = pd.read_stata('sample_data.dta')
s = sample
# Let's learn
X = np.array((s.crisis, s.cash, s.industry, s.current_debt, s.activity)).reshape(1000, 5)
y = np.array(s.wc_measure)
X_train, X_test, y_train, y_test = tts(X, y, test_size = .8)
my_tree = tree.DecisionTreeClassifier()
clf = my_tree.fit(X_train, y_train)
predictions = my_tree.predict(X_test)
# Graph the tree
from sklearn.externals.six import StringIO
import pydotplus
dotfile = StringIO()
tree.export_graphviz(clf, out_file=dotfile)
pydotplus.graph_from_dot_data(dotfile.getvalue()).write_png("my_tree.png")
当我尝试绘制树图时,出现以下错误:
pydotplus.graphviz.InvocationException: GraphViz's executables not found
知道问题出在哪里吗?我完全遵循 graphviz 的文档。
看来你根本就没有安装graphviz软件。在使用该模块之前,您应该 download 并安装它。
第 1 步,使用'sudo apt-get install graphviz
' if ubuntu、'brew install graphviz
' if OSX
第 2 步,通过 pip 安装包 'graphviz' sudo pip install graphviz