最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python工具dtreeviz決策樹可視化和模型可解釋性

 更新時(shí)間:2022年03月03日 11:03:18   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
這篇文章主要介紹了python工具dtreeviz決策樹可視化和模型可解釋性,決策樹是梯度提升機(jī)和隨機(jī)森林的基本構(gòu)建塊,在學(xué)習(xí)這些模型的工作原理和模型可解釋性時(shí),可視化決策樹是一個(gè)非常有幫助,下文相關(guān)資料,需要的小伙伴可任意參考一下

前言:

決策樹是梯度提升機(jī)和隨機(jī)森林的基本構(gòu)建塊,在學(xué)習(xí)這些模型的工作原理和模型可解釋性時(shí),可視化決策樹是一個(gè)非常有幫助。不過,當(dāng)前的可視化包還很初級(jí),對(duì)新手沒有多少幫助。

最近逛 Github 時(shí),發(fā)現(xiàn)一款非常棒的 dtreeviz 工具庫(kù):它用于決策樹可視化和模型解釋。使用 dtreeviz 可以可視化特征空間如何在決策節(jié)點(diǎn)上分割,訓(xùn)練樣本如何分布在葉節(jié)點(diǎn)中,樹如何對(duì)特定觀察進(jìn)行預(yù)測(cè)等等。這些操作對(duì)于理解分類或回歸決策樹的工作方式至關(guān)重要。

一、安裝

pip install dtreeviz ? ? ? ? ? ? # install dtreeviz for sklearn
pip install dtreeviz[xgboost] ? ?# install XGBoost related dependency
pip install dtreeviz[pyspark] ? ?# install pyspark related dependency
pip install dtreeviz[lightgbm] ? # install LightGBM related dependency

二、用法

dtree:創(chuàng)建決策樹可視化的主要功能。給定決策樹回歸器或分類器,使用 graphviz 創(chuàng)建并返回樹可視化。

1.所需的庫(kù)

導(dǎo)入所需要的基本庫(kù)

from sklearn.datasets import *
from sklearn import tree
from dtreeviz.trees import *

2.回歸決策樹

樹的默認(rèn)方向是自上而下,但您可以使用orientation=“LR” 將其更改為從左到右。view() 給出一個(gè)帶有渲染的 graphviz 對(duì)象的彈出窗口。

regr = tree.DecisionTreeRegressor(max_depth=2)
boston = load_boston()
regr.fit(boston.data, boston.target)

viz = dtreeviz(regr,
? ? ? ? ? ? ? ?boston.data,
? ? ? ? ? ? ? ?boston.target,
? ? ? ? ? ? ? ?target_name='price',
? ? ? ? ? ? ? ?feature_names=boston.feature_names)
? ? ? ? ? ? ??
viz.view() ? ?

3.分類決策樹

分類樹需要class_names 的附加參數(shù),給出類值與類名的映射。

classifier = tree.DecisionTreeClassifier(max_depth=2) ?# limit depth of tree
iris = load_iris()
classifier.fit(iris.data, iris.target)

viz = dtreeviz(classifier,?
? ? ? ? ? ? ? ?iris.data,?
? ? ? ? ? ? ? ?iris.target,
? ? ? ? ? ? ? ?target_name='variety',
? ? ? ? ? ? ? ?feature_names=iris.feature_names,?
? ? ? ? ? ? ? ?class_names=["setosa", "versicolor", "virginica"] ?# need class_names for classifier
? ? ? ? ? ? ? ) ?
? ? ? ? ? ? ??
viz.view()?

4.預(yù)測(cè)路徑

突出顯示參數(shù) X 中傳遞的單個(gè)觀察的特征值所在的決策節(jié)點(diǎn)。給出觀察的特征值并突出樹用于遍歷路徑的特征。

regr = tree.DecisionTreeRegressor(max_depth=2) ?# limit depth of tree
diabetes = load_diabetes()
regr.fit(diabetes.data, diabetes.target)
X = diabetes.data[np.random.randint(0, len(diabetes.data)),:] ?# random sample from training

viz = dtreeviz(regr,
? ? ? ? ? ? ? ?diabetes.data,?
? ? ? ? ? ? ? ?diabetes.target,?
? ? ? ? ? ? ? ?target_name='value',?
? ? ? ? ? ? ? ?orientation ='LR', ?# left-right orientation
? ? ? ? ? ? ? ?feature_names=diabetes.feature_names,
? ? ? ? ? ? ? ?X=X) ?# need to give single observation for prediction
? ? ? ? ? ? ??
viz.view() ?

如果只想可視化預(yù)測(cè)路徑,則需要設(shè)置參數(shù)show_just_path=True

dtreeviz(regr,
? ? ? ? diabetes.data,?
? ? ? ? diabetes.target,?
? ? ? ? target_name='value',?
? ? ? ? orientation ='TD', ?# top-down orientation
? ? ? ? feature_names=diabetes.feature_names,
? ? ? ? X=X, # need to give single observation for prediction
? ? ? ? show_just_path=True ? ??
? ? ? ? )

5.解釋預(yù)測(cè)路徑

這些可視化對(duì)于向沒有機(jī)器學(xué)習(xí)技能的人解釋為什么您的模型做出特定預(yù)測(cè)很有用。在explain_type=plain_english 的情況下,它在預(yù)測(cè)路徑中搜索并找到特征值范圍。

X = dataset[features].iloc[10]
print(X)
Pclass ? ? ? ? ? ? ?3.0
Age ? ? ? ? ? ? ? ? 4.0
Fare ? ? ? ? ? ? ? 16.7
Sex_label ? ? ? ? ? 0.0
Cabin_label ? ? ? 145.0
Embarked_label ? ? ?2.0

print(explain_prediction_path(tree_classifier, X, feature_names=features, explanation_type="plain_english"))
2.5 <= Pclass?
Age < 36.5
Fare < 23.35
Sex_label < 0.5

explain_type=sklearn_default(僅適用于scikit-learn)的情況下,我們可以僅可視化預(yù)測(cè)路徑中涉及的特征的重要性。 特征的重要性是基于雜質(zhì)的平均減少來計(jì)算的。

explain_prediction_path(tree_classifier, X, feature_names=features, explanation_type="sklearn_default")

此外我們還可以自定義顏色,比如:

dtreeviz.trees.dtreeviz(regr,
? ? ? ? ? ? ? ? ? ? ? ? boston.data,
? ? ? ? ? ? ? ? ? ? ? ? boston.target,
? ? ? ? ? ? ? ? ? ? ? ? target_name='price',
? ? ? ? ? ? ? ? ? ? ? ? feature_names=boston.feature_names,
? ? ? ? ? ? ? ? ? ? ? ? colors={'scatter_marker': '#00ff00'})

 到此這篇關(guān)于python工具dtreeviz決策樹可視化和模型可解釋性的文章就介紹到這了,更多相關(guān)python工具dtreeviz內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何理解及使用Python閉包

    如何理解及使用Python閉包

    閉包是優(yōu)雅的 Python 結(jié)構(gòu),在本文中,我們將了解它們,如何定義閉包,為什么以及何時(shí)使用它們.但是在討論什么是閉包之前,我們必須首先理解什么是嵌套函數(shù),以及作用域規(guī)則是如何為它們工作的.那么讓我們開始吧,需要的朋友可以參考下
    2021-06-06
  • PyCharm Terminal終端命令行Shell設(shè)置方式

    PyCharm Terminal終端命令行Shell設(shè)置方式

    這篇文章主要介紹了PyCharm Terminal終端命令行Shell設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 深入講解Python命令行解析模塊argparse

    深入講解Python命令行解析模塊argparse

    Python?提供了一個(gè)解析命令行參數(shù)的標(biāo)準(zhǔn)庫(kù)?argparse,可以讓我們輕松編寫用戶友好的命令行接口,接下來我們就來詳細(xì)介紹一下argparse?的使用方法吧
    2023-06-06
  • python3爬蟲怎樣構(gòu)建請(qǐng)求header

    python3爬蟲怎樣構(gòu)建請(qǐng)求header

    在本篇內(nèi)容里小編給大家分享了關(guān)于python3爬蟲怎樣構(gòu)建請(qǐng)求header的知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2018-12-12
  • 下載官網(wǎng)python并安裝的步驟詳解

    下載官網(wǎng)python并安裝的步驟詳解

    在本篇文章里小編給大家整理了關(guān)于下載官網(wǎng)python并安裝的步驟詳解,需要的朋友們參考學(xué)習(xí)下。
    2019-10-10
  • Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序

    Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序

    Django提供了一個(gè)基于Python Web框架的Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。在本教程中,我們將學(xué)習(xí)如何創(chuàng)建一個(gè)使用Django作為后端的天氣應(yīng)用程序,感興趣的可以嘗試一下
    2022-10-10
  • 用Django寫天氣預(yù)報(bào)查詢網(wǎng)站

    用Django寫天氣預(yù)報(bào)查詢網(wǎng)站

    今天小編就為大家分享一篇關(guān)于用Django寫天氣預(yù)報(bào)查詢網(wǎng)站的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • python訪問sqlserver示例

    python訪問sqlserver示例

    這篇文章主要介紹了python訪問sqlserver示例,需要的朋友可以參考下
    2014-02-02
  • python實(shí)現(xiàn)五子棋程序

    python實(shí)現(xiàn)五子棋程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • linux安裝python修改默認(rèn)python版本方法

    linux安裝python修改默認(rèn)python版本方法

    在本文中我們給大家總結(jié)了關(guān)于linux安裝python修改默認(rèn)python版本的方法和相關(guān)知識(shí)點(diǎn),需要的讀者們參考下。
    2019-03-03

最新評(píng)論

威宁| 和顺县| 兴和县| 黔西| 望都县| 揭西县| 北流市| 宝坻区| 茂名市| 潼关县| 嫩江县| 白朗县| 区。| 佳木斯市| 沧州市| 绥棱县| 淮安市| 武安市| 泗阳县| 寿阳县| 新巴尔虎右旗| 拜城县| 鄂尔多斯市| 万载县| 万源市| 政和县| 绩溪县| 塔河县| 嘉义市| 临桂县| 襄汾县| 云南省| 镇赉县| 蒙山县| 北辰区| 安乡县| 龙胜| 响水县| 波密县| 新乐市| 汝州市|