【机器学习基础】让人惊艳的决策树可视化
?本文目標
本文的目標是引入dtreeviz來可視化分類決策樹,比scikit-learn包自帶的可視化效果更好。我們將在Scikit學習使用iris數據集學習決策樹教程。
請注意,如果我們使用決策樹進行回歸,可視化效果會有所不同。
? ? ? ? ? ? ?
?scikit-learn和dtreeviz可視化對比
? ? ? ? ? ? ?
?
前期準備
首先使用pip或conda命令安裝模塊,如下所示。
pip install dtreeviz pip?install?graphviz?#這個包需要下載安裝,并配置對應的變量環境?
加載數據集
import numpy as np from sklearn.datasets import load_iris, load_boston from sklearn import treeiris = load_iris() df_iris = pd.DataFrame(iris['data'], columns=iris['feature_names']) df_iris['target'] = iris['target'] df_iris.head()sepal ? length (cm) | sepal width (cm) | petal length (cm) | petal width (cm) | target |
5.1 | 3.5 | 1.4 | 0.2 | 0 |
4.9 | 3 | 1.4 | 0.2 | 0 |
4.7 | 3.2 | 1.3 | 0.2 | 0 |
4.6 | 3.1 | 1.5 | 0.2 | 0 |
5 | 3.6 | 1.4 | 0.2 | 0 |
?
訓練決策樹
# Train the Decision tree model clf = tree.DecisionTreeClassifier() clf?=?clf.fit(iris.data,?iris.target)?
可視化決策樹
Scikit-learn
import graphviz dot_data = tree.export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True, special_characters=True) graph = graphviz.Source(dot_data) graph?
? ? ? ? ? ? ?
dtreeviz
from dtreeviz.trees import dtreeviz viz = dtreeviz(clf,iris['data'],iris['target'],target_name='',feature_names=np.array(iris['feature_names']),class_names={0:'setosa',1:'versicolor',2:'virginica'})viz? ? ? ? ? ? ?
?
通過上面的對比,發現Treeviz的可視化會更好
你可以在每個節點上看到每個類的分布
你可以看到每個分割的決策邊界在哪里
你可以看到每片葉子上的樣品大小與圓的大小相同
原文名稱:How to visualize a decision tree beyond scikit-learn
原文鏈接:https://h1ros.github.io/posts/how-to-visualize-a-decision-tree-beyond-scikit-learn/
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 獲取本站知識星球優惠券,復制鏈接直接打開: https://t.zsxq.com/qFiUFMV 本站qq群704220115。加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【机器学习基础】让人惊艳的决策树可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习基础】机器学习中“距离与相似度
- 下一篇: 【经验】新人学习写程序的第一道坎