機器學習之決策樹在sklearn中的實現

2021-09-12 02:17:25 字數 2480 閱讀 9167

python 3.7.1(你的版本至少要3.4以上

scikit-learn 0.20.0 (你的版本至少要0.20

graphviz 0.8.4 (沒有畫不出決策樹哦,安裝**conda install python-graphviz

numpy 1.15.3, pandas 0.23.4, matplotlib 3.0.1, scipy 1.1.0

用sklearn 建立一棵決策樹

這裡採用的資料集是sklearn中的紅酒資料集。

1 匯入需要的演算法庫和模組

from sklearn import tree #匯入tree模組

from sklearn.datasets import load_wine #匯入紅酒資料集

from sklearn.model_selection import train_test_split #匯入訓練集和測試集切分包

2 探索資料

wine = load_wine()

wine.data

wine.data.shape

wine.target

wine.target.shape

執行的結果是這樣子的:

data就是該資料集的特徵矩陣,從執行結果可以看出,該紅酒資料集一共有178條記錄,13個特徵。

特徵矩陣中有178條記錄,相對應的標籤y就有178個資料。

如果wine是一張表,應該長這樣:

這是資料集特徵列名和標籤分類

3 分訓練集和測試集

這裡選取30%作為測試集。切分好之後,訓練集有124條資料,測試集有54條資料。

4 建立模型

clf = tree.decisiontreeclassifier(criterion="entropy") #初始化樹模型

clf = clf.fit(xtrain, ytrain) #例項化訓練集

score = clf.score(xtest, ytest) #返回**的準確度

5 畫出一棵樹吧

feature_name = ['酒精','蘋果酸','灰','灰的鹼性','鎂','總酚','類黃酮','非黃烷類酚類','花青素','顏色強度','色調','od280/od315稀釋葡萄酒','脯氨酸']

​import graphviz

dot_data = tree.export_graphviz(clf

,out_file=none

,feature_names= feature_name

,class_names=["琴酒","雪莉","貝爾摩德"]

6 探索決策樹

#特徵重要性

到現在為止,我們已經學會建立一棵完整的決策樹了。有興趣的話,動手建立一棵屬於自己的決策樹吧~

機器學習之決策樹

在這裡,我想以更直觀的方式幫助各位理解 掌握並且運用 注意 是運用 決策樹,從而為機器學習作鋪墊。ps 但還是希望大家稍微知道決策樹大概是什麼樣子。1.根結點 root node 沒有入邊,但有零條或多條出邊 2.內部結點 internal node 恰有一條入邊和 兩條或多條出邊 3.葉結點 le...

機器學習之決策樹

決策樹是很常見的機器學習分類演算法,竟然叫決策樹,那麼它的模型其實就像樹一樣。通過對樣本集的學習,挖掘出有用的規則。對於程式設計師來說或許以條件語句來看就更好理解了,決策樹可以看成是多個if then條件語句的集合。這種模型等同於我們寫的條件語句,所以它的 分類速度是很快的。來個例子了解下決策樹分類...

機器學習之決策樹

簡介 決策樹是一種基本的分類方法,當然也可以用於回歸。我們一般只討論用於分類的決策樹。決策樹模型呈樹形結構。在分類問題中,表示基於特徵對例項進行分類的過程,它可以認為是if then規則的集合。在決策樹的結構中,每乙個例項都被一條路徑或者一條規則所覆蓋。通常決策樹學習包括三個步驟 特徵選擇 決策樹的...