代码如下
import pandas as pd
from sklearn.tree import DecisionTreeClassifier as DTC,export_graphviz
//导入需要用到的pandas和sklearn.tree
data=pd.read_csv(unicode(r'...\titanic_data.csv','utf-8'))
//unicode这一句可以解决路径中含中文导致报错的问题,百试百灵
data.drop(['PassengerId'],axis=1,inplace=True)
//去除passengerId这一列,完全是编号,没有意义
data.loc[data['Sex']=='male','Sex']=1
data.loc[data['Sex']=='female','Sex']=0
//将性别的男女改成易表达的1和0
data.fillna(int(data.Age.mean()),inplace=True)
//年龄缺失的记录中用平均年龄代替
x=data.iloc[:,1:3]
//后三个属性
y=data.iloc[:,0]
//第一个属性,是否生还
dtc=DTC(criterion='entropy')
dtc.fit(x,y)
print '准确率:',dtc.score(x,y)
with open(unicode(r'...\tree.dot','utf-8'),'w') as f:
f=export_graphviz(dtc,feature_names=x.columns,out_file=f)
这里在目录下保存了决策树的可视化文件tree.dot,要转换成pdf或png还需要以下步骤:
1.官网下载: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
点击msi文件下载安装,记住安装的路径
2.在“此电脑-》属性-》环境变量-》系统环境变量”里,选择“PATH”编辑,添加,路径为刚刚下载安装的graphviz文件目录下的bin文件夹的路径
3.cmd中输入pip install graphviz
4.安装成功后,进入到刚刚保存tree.dot的路径下(否则会报错:error:cannot open dot),输入“dot -Tpdf tree.dot -o tree.pdf” "dot -Tpng tree.dot -o tree.png"
在这个路径下就可以看见有dot,pdf,png三个文件了