手把手带你实现决策树实现分类与树的可视化

本篇文章主要介绍使用决策树进行分类并且可视化最终的树模型,对于初学者比较友好
废话不说,直接上代码。代码注释及其详细,适合初学者。

#使用决策树模型完成分类问题
#导入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())





你可能感兴趣的:(机器学习)