In [16]:
%matplotlib inline

In [17]:
# Default params for Decision Tree Model do not work very well.

In [18]:
from sklearn import datasets
X, y = datasets.make_classification(1000, 20, n_informative=3)

In [19]:
from sklearn.tree import DecisionTreeClassifier

In [20]:
dt = DecisionTreeClassifier()
dt.fit(X, y)


Out[20]:
DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
            max_features=None, max_leaf_nodes=None, min_samples_leaf=1,
            min_samples_split=2, min_weight_fraction_leaf=0.0,
            random_state=None, splitter='best')

In [21]:
from StringIO import StringIO
from sklearn import tree
import pydot

In [22]:
str_buffer = StringIO()
tree.export_graphviz(dt, out_file=str_buffer)
graph = pydot.graph_from_dot_data(str_buffer.getvalue())
graph.write('myfile.jpg')


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-22-6895e5c16462> in <module>()
      1 str_buffer = StringIO()
      2 tree.export_graphviz(dt, out_file=str_buffer)
----> 3 graph = pydot.graph_from_dot_data(str_buffer.getvalue())
      4 graph.write('myfile.jpg')

/usr/local/lib/python2.7/site-packages/pydot.pyc in graph_from_dot_data(data)
    197     """
    198 
--> 199     return dot_parser.parse_dot_data(data)
    200 
    201 

NameError: global name 'dot_parser' is not defined

In [ ]: