日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python画决策树_Python绘制决策树

發布時間:2024/1/1 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画决策树_Python绘制决策树 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繪制出決策樹

經過訓練的決策樹,我們可以使用 export_graphviz 導出器以 Graphviz 格式導出決策樹. 如果你是用 conda 來管理包,那么安裝 graphviz 二進制文件和 python 包可以用以下指令安裝

conda install python-graphviz

或者,可以從 graphviz 項目主頁下載 graphviz 的二進制文件,并從 pypi 安裝 Python 包裝器,并安裝 ‘pip install graphviz` .以下是在整個 iris 數據集上訓練的上述樹的 graphviz 導出示例; 其結果被保存在 iris.pdf 中:

from sklearn.datasets import load_iris

from sklearn import tree

iris = load_iris()

clf_iris = tree.DecisionTreeClassifier()

clf_iris = clf.fit(iris.data, iris.target)

* 下面的代碼可以到處我們的決策樹 *

:func:export_graphviz 出導出還支持各種美化,包括通過他們的類著色節點(或回歸值),如果需要,使用顯式變量和類名。

* 注意:默認情況下,會導出圖形文件*

Jupyter notebook也可以自動找出相同的模塊

import graphviz # doctest: +SKIP

dot_data = tree.export_graphviz(clf, out_file=None) # doctest: +SKIP

graph = graphviz.Source(dot_data) # doctest: +SKIP

graph.render("iris") # doctest: +SKIP

dot_data = tree.export_graphviz(clf, out_file=None, # doctest: +SKIP

feature_names=iris.feature_names, # doctest: +SKIP

class_names=iris.target_names, # doctest: +SKIP

filled=True, rounded=True, # doctest: +SKIP

special_characters=True) # doctest: +SKIP

graph = graphviz.Source(dot_data) # doctest: +SKIP

graph # doctest: +SKIP

* 之后依舊可以使用該函數進行預測數據等操作*

clf_iris.predict(iris.data[:1, :])

array([0])

畫出決策樹的分類區域

import numpy as np

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

from sklearn.tree import DecisionTreeClassifier

# Parameters

n_classes = 3

plot_colors = "ryb"

plot_step = 0.02 # Load data

iris = load_iris()

for pairidx, pair in enumerate([[0, 1], [0, 2], [0, 3],

[1, 2], [1, 3], [2, 3]]):

# We only take the two corresponding features

X = iris.data[:, pair]

y = iris.target

# Train

clf = DecisionTreeClassifier().fit(X, y)

# Plot the decision boundary

plt.subplot(2, 3, pairidx + 1)

x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1

y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1

xx, yy = np.meshgrid(np.arange(x_min, x_max, plot_step),

np.arange(y_min, y_max, plot_step))

plt.tight_layout(h_pad=0.5, w_pad=0.5, pad=2.5)

Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])

Z = Z.reshape(xx.shape)

cs = plt.contourf(xx, yy, Z, cmap=plt.cm.RdYlBu)

plt.xlabel(iris.feature_names[pair[0]])

plt.ylabel(iris.feature_names[pair[1]])

# Plot the training points for i, color in zip(range(n_classes), plot_colors):

idx = np.where(y == i)

plt.scatter(X[idx, 0], X[idx, 1], c=color, label=iris.target_names[i],

cmap=plt.cm.RdYlBu, edgecolor='black', s=15)

plt.suptitle("Decision surface of a decision tree using paired features")

plt.legend(loc='lower right', borderpad=0, handletextpad=0)

plt.axis("tight")

plt.show()

參考資料

總結

以上是生活随笔為你收集整理的python画决策树_Python绘制决策树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。