sklearn第十四講 決策樹之分類篇

2021-08-20 19:43:18 字數 2456 閱讀 9548

決策樹(decision trees, dts)是一種非引數的有監督學習方法,廣泛使用於分類和回歸中。它的目標是,通過資料特徵學習簡單的決策規則,產生乙個決策模型**乙個目標變數的值。例如下面的例子,決策樹從資料學習乙個if-then-else規則集,近似一條正弦曲線。樹越深,決策規則和擬合的模型就越複雜。

決策樹具有以下優勢:

決策樹的劣勢包括:

decisiontreeclassifier是乙個能夠做多類別分類的scikit-learn類。同其它分類器一樣,decisiontreeclassifier取兩個輸入陣列:裝載訓練樣本的[n_samples, n_features]陣列x, 大小為[n_samples]的整數陣列y, 裝載訓練樣本的類標籤。

from sklearn import tree

x = [[0, 0], [1, 1]]

y = [0, 1]

clf = tree.decisiontreeclassifier()

clf = clf.fit(x, y)

擬合後,模型可以使用**樣本所屬的類。

clf.predict([[2., 2.]])
也可以**每個類的概率,即,在葉子裡相同類的訓練樣本的比例。

clf.predict_proba([[2., 2.]])
decisiontreeclassifier既可以作二值分類(類標籤-1, 1),也可以作多類別分類(類標籤0, 1, …, k-1).

使用iris資料集構建一棵樹。

from sklearn.datasets import load_iris

from sklearn import tree

iris = load_iris()

clf = tree.decisiontreeclassifier()

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

訓練一棵樹後,我們能夠使用export_graphviz輸出器,以graphviz的格式輸出樹。如果你使用conda包管理器,圖形的二進位制檔案和python包能以下面的形式安裝:

最後,還要將包括dot可執行程式的graphviz資料夾新增到windows環境變數裡,這樣,需要執行dot時,windows自動在環境變數裡搜尋執行。

使用cmd命令開啟命令提示符,輸入dot -version, 如果安裝成功,應該顯示如下:

繼續在iris資料集建決策樹的例子,將整個iris資料集上建的樹以graphviz輸出,視覺化結果儲存在使用者指定的路徑裡的iris.pdf檔案裡。

export_graphviz輸出器也支援很多圖形美化選項,包括根據節點的類或回歸值著不同的顏色,使用明確的變數或類名字。jupyter notebooks支援自動輸出美工後的圖型。

擬合後的決策樹可以**樣本所屬類別。

clf.predict(iris.data[:1, :])
也可以**樣本屬於每個類的概率。

clf.predict_proba(iris.data[:1, :])

SKlearn之決策樹

決策樹是一種非引數的監督學習方法。模組 sklearn.tree sklearn建模的步驟 1 選擇並建立模型 例 clf tree.decisiontreeclassifier 2 提供資料訓練模型 例 clf clf.fit x train,y train 3 獲取需要的資訊 例 result ...

第十四講 模組

1.模組 模組化指將乙個完整的程式分解成乙個個的小模組 通過將模組組合,來搭建出乙個完整的程式 模組化的優點 方便開發 方便維護 模組可以復用 模組的建立 在python當中乙個py檔案就是乙個模組 在乙個模組中引入外部模組 import模組名 模組名就是py檔案 可以引入同乙個模組多次,但是模組的...

sklearn 決策樹例子 決策樹 規則挖掘應用

本次主要簡單介紹下決策樹在風控規則中的簡單應用,讓讀者快速入門。在後續的文章中,會逐一介紹決策樹的各種演算法原理,如資訊增益 id3演算法 c4.5演算法 c5.0演算法等,希望感興趣的朋友可以關注下。前言 決策樹是資料探勘中十分常用的分類方法,歸屬於機器學習中的監督學習演算法。監督學習就是給出一堆...