<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【機(jī)器學(xué)習(xí)基礎(chǔ)】讓人驚艷的決策樹(shù)可視化

          共 1914字,需瀏覽 4分鐘

           ·

          2020-12-22 17:27


          ?本文目標(biāo)

          本文的目標(biāo)是引入dtreeviz來(lái)可視化分類(lèi)決策樹(shù),比scikit-learn包自帶的可視化效果更好。我們將在Scikit學(xué)習(xí)使用iris數(shù)據(jù)集學(xué)習(xí)決策樹(shù)教程。

          請(qǐng)注意,如果我們使用決策樹(shù)進(jìn)行回歸,可視化效果會(huì)有所不同。

          ? ? ? ? ? ? ?

          ?scikit-learn和dtreeviz可視化對(duì)比

          ? ? ? ? ? ? ?

          ?

          前期準(zhǔn)備

          首先使用pip或conda命令安裝模塊,如下所示。

          pip install dtreevizpip?install?graphviz?#這個(gè)包需要下載安裝,并配置對(duì)應(yīng)的變量環(huán)境

          ?

          加載數(shù)據(jù)集

          import numpy as npfrom sklearn.datasets import load_iris, load_bostonfrom sklearn import tree

          iris = 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

          ?

          訓(xùn)練決策樹(shù)

          # Train the Decision tree modelclf = tree.DecisionTreeClassifier()clf?=?clf.fit(iris.data,?iris.target)

          ?

          可視化決策樹(shù)

          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

          ? ? ? ? ? ? ?

          ?

          通過(guò)上面的對(duì)比,發(fā)現(xiàn)Treeviz的可視化會(huì)更好

          你可以在每個(gè)節(jié)點(diǎn)上看到每個(gè)類(lèi)的分布

          你可以看到每個(gè)分割的決策邊界在哪里

          你可以看到每片葉子上的樣品大小與圓的大小相同



          原文名稱(chēng):How to visualize a decision tree beyond scikit-learn

          原文鏈接:https://h1ros.github.io/posts/how-to-visualize-a-decision-tree-beyond-scikit-learn/


          往期精彩回顧





          獲取本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):

          https://t.zsxq.com/qFiUFMV

          本站qq群704220115。

          加入微信群請(qǐng)掃碼:

          瀏覽 102
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  爱爱99| 国产又大又黄 | 日美女逼视频在线播放 | 国产 乱伦 av | 欧美性爱天天 |