# Visualising a decision tree using GraphViz

**URL:** <https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087>\
**Category:** Visualization\
**Tags:** package\
**Created:** [July 27, 2017, 4:41am UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087 "2017-07-27T04:41:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Devi\_Sree](https://avatars.discourse-cdn.com/v4/letter/d/45deac/32.png) [@Devi\_Sree](https://discourse.julialang.org/u/Devi_Sree)\
**Post date:** [July 27, 2017, 4:41am UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087/1 "2017-07-27T04:41:12Z")

</div>

I see python visualisation of tree using Graphviz whch is simple and only few lines.

```
          >>> from sklearn.datasets import load_iris
          >>> from sklearn import tree
         >>> clf = tree.DecisionTreeClassifier()
         >>> iris = load_iris()
         >>> clf = clf.fit(iris.data, iris.target)
         >>> tree.export_graphviz(clf,out_file='tree.dot')                

```

How to do the same in Julia using sklearn and graphviz. I see a tree structure in Julia but I want to visualise it.

---

<div class="post-metadata">

**Author:** ![cstjean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cstjean/32/1444_2.png) [@cstjean](https://discourse.julialang.org/u/cstjean)\
**Post date:** [July 27, 2017, 11:03am UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087/2 "2017-07-27T11:03:07Z")

</div>

Using [ScikitLearn.jl](https://github.com/cstjean/ScikitLearn.jl) and [PyCall.jl](https://github.com/JuliaPy/PyCall.jl)

```julia
using ScikitLearn
using RDatasets: dataset
@sk_import tree: (DecisionTreeClassifier, export_graphviz)
iris = dataset("datasets", "iris");
clf = fit!(DecisionTreeClassifier(), convert(Matrix{Float64}, iris[[:SepalLength, :SepalWidth, :PetalLength, :PetalWidth]]), iris[:Species])
export_graphviz(clf,out_file="tree.dot")

```

You can view the dot file using eg [GraphViz](https://github.com/Keno/GraphViz.jl). Also check out [DecisionTree.jl](https://github.com/bensadeghi/DecisionTree.jl) for a native way of doing the same thing, though it doesn’t support graph visualization at the moment. Would be a nice PR.

---

<div class="post-metadata">

**Author:** ![scelles](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scelles/32/220408_2.png) [@scelles](https://discourse.julialang.org/u/scelles)\
**Post date:** [June 5, 2019, 9:27am UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087/3 "2019-06-05T09:27:29Z")

</div>

GraphViz.jl is currently broken with Julia 1.1  
See [https://github.com/Keno/GraphViz.jl/issues/33](https://github.com/Keno/GraphViz.jl/issues/33)  
It needs some care.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 5, 2019, 1:05pm UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087/4 "2019-06-05T13:05:06Z")

</div>

It seems open source has provided a wonderful opportunity for the first one who needs GraphViz to give it some much needed care \<3

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [June 27, 2019, 11:42am UTC](https://discourse.julialang.org/t/visualising-a-decision-tree-using-graphviz/5087/5 "2019-06-27T11:42:36Z")

</div>

I was going to ask if I can visual a DecisionTree.jl model. I can’t seem to find it in the library documtation how to visualise a tree.
