決策樹(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演算法等,希望感興趣的朋友可以關注下。前言 決策樹是資料探勘中十分常用的分類方法,歸屬於機器學習中的監督學習演算法。監督學習就是給出一堆...