python實現決策樹和視覺化決策樹

2021-09-26 06:08:12 字數 2067 閱讀 1448

一.python實現決策樹

from sklearn import tree

from sklearn.datasets import load_wine

from sklearn.model_selection import train_test_split

匯入資料集,這裡用的是自帶的酒的資料

wine=load_wine()#資料集
拆分資料集(前面的幾個變數是不能交換位置的,test_size意思是拆分後訓練集和測試集的比例)

xtrain,xtest,ytrain,ytest=train_test_split(wine.data,wine.target,test_size=0.3)
訓練並檢視一下準確度

#訓練

clf=tree.decisiontreeclassifier(criterion='entropy')

clf=clf.fit(xtrain,ytrain)

#檢視一下準確度

score=clf.score(xtest,ytest)

訓練結果:

二.視覺化決策樹

首先需要安裝graphviz包

import graphviz
然後需要對特徵值賦予列名

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

dot_data=tree.export_graphviz(clf

,feature_names=f_name

,class_names=['茅台','啤酒','黃酒']

三.決策樹的優化1.增加隨機性:

random_state=30

splitter=』random』

2.剪枝策略

max_depth一般從3開始嘗試

min_ samples_ leaf 一般和max_depth搭配使用,一般從5開始嘗試

樣本數量小於min_ samples_ leaf的分支將會被剪掉

3.簡單實現使用**檢視max_depth的最好引數,這裡只是簡單看一下,因為不可能這麼多引數都用這個方法乙個個列出來

在如上所示的圖中可以得出結論,在這個資料中,max_depth=3是最好的,因為在3的時候已經達到了最高點,並且是最高點中計算容量最小的點

python 決策樹 視覺化

對於 cart 回歸樹的視覺化,可以先在電腦上安裝 graphviz 然後 pip install graphviz,這是安裝python的庫,需要依賴前面安裝的 graphviz。視覺化 如下 from sklearn.tree import export graphviz import grap...

決策樹視覺化

決策樹相比其他演算法的乙個重要特性就是 可解釋性,構建決策樹的過程就相當於形成 if then 規則集。如果我們能夠將生成的決策樹視覺化,那麼我們就可以對資料集與 值之間的關係有清晰的認識。首先,我們以 sklearn.datasets 包中的鳶尾花資料集為例。from sklearn.datase...

Python決策樹demo視覺化

基礎環境 anaconda3 5.2.0 python3.6 win10x64 pip3 install graphviz pip3 install pydotplus coding utf 8 created on wed jul 31 16 51 08 2019 author 86182 fro...