手把手帶你實現決策樹實現分類與樹的可視化

本篇文章主要介紹使用決策樹進行分類並且可視化最終的樹模型,對於初學者比較友好
廢話不說,直接上代碼。代碼註釋及其詳細,適合初學者。

#使用決策樹模型完成分類問題
#導入import工具庫
import pandas as pd
#引入用於數據預處理/特徵工程的工具包
from sklearn import preprocessing
#import決策樹建模包
from sklearn import tree

#讀取數據
adult_data=pd.read_csv("./DecisionTree.csv")
#讀取前5行,瞭解數據
adult_data.head(5)
#查看數據集基本信息
adult_data.info()
#查看數據集維度
adult_data.shape
#(32561,9)
####區分特徵和標籤
feature_colume=[u'workeclass',u'education',u'marital-status',u'occupation',u'relationship',u'race',u'gender',u'native-country']
label_column=['income']
features=adult_data[feature_colume]
label=adult_data[label_column]
#特徵處理/特徵工程---one-hot編碼
features=pd.get_dummies(features)
#[紅黃藍]---》[100]/[010]/[001]
###構建模型
#初始化一個決策樹分類器
clf=tree.DecisionTreeClassifier(criterion='entropy',max_depth=4)##使用熵作爲最優屬性判定,最大深度4
#用決策樹分類器擬合數據
clf=clf.fit(fearures.values,label.values)
print(clf)
clf.predict(features.values)

#可視化生成的決策樹
import pydotplus
from IPython.display import display, Image
#生成圖的模板,照着寫就行,把樹解析成數據
dot_data=tree,export_graphviz(clf,out_file=None,feature_name=features.columns,class_name=['<=50','>50'],
                              filled=True,rounded=True)
#數據化成圖
graph=pydotplus.graph_from_dot_data(dot_data)
#顯示圖
display(graph.creat.png())





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章