Graphviz可视化决策树框架(生成决策树、可视化树)
程序员文章站
2022-06-20 12:58:25
可视化决策树:安装Graphviz安装完后要把环境变量添加关于决策树的数据输入要求转换成二进制例如: age income student y h nm m ys l n转化成y m s h m l n y1 0 0 1 0 0 1 00 1 0 0 1 0 0 10 0 1 0 0 1 1 0生成决策树from sklearn.feature_extraction import DictVectorizerimpor...
可视化决策树:安装Graphviz
安装完后要把环境变量添加
关于决策树的数据输入
要求转换成二进制
例如:
age income student
y h n
m m y
s l n
转化成
y m s h m l n y
1 0 0 1 0 0 1 0
0 1 0 0 1 0 0 1
0 0 1 0 0 1 1 0
生成决策树
from sklearn.feature_extraction import DictVectorizer
import csv
from sklearn import preprocessing
from sklearn import tree
from sklearn.externals.sz import StringIO
allData=open(r'D:\asd.csv','rb') #二进制形式读取数据
reader = csv.reader(allData)
header = reader.next() #第一行属性名称
feature =[]
label=[]
for row in reader: #每个row是一行内容
label.append(row[len(row)-1]) #取每一行最后一个值(label)
rowDict={} #装特征值
for i in range(1,len(row)-1):
rowDict[header[i]] = row[i] #对应k/v放入
feature.append(rowDict)
print(feature)
vec= DictVectorizer()
dummyX=vec.fit_transform(feature).toarray()#转换成01
print("dummyX:"+str(dummyX))
print(vec.get_feature_names())
lb = preprocessing.LableBinarizer()
dummyY = lb.fit_transform(label)
#X,Y都转换成0,1了
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf = clf.fit(dummyX,dummyY)
print("clf:" + str(clf))
#打印出来树
with open("allInformation.dot",'w') as f:
f=tree.export_graphviz(clf,feature_names=vec.get_feature_names(),out_file = f )
#预测
newrow = [ ]
pre = clf.predict(newrow)
可视化树
在命令行行输入:
dot -T pdf allInformation.dot -o output.pdf
本文地址:https://blog.csdn.net/Hanpi_learnc/article/details/107057034
推荐阅读
-
Graphviz可视化决策树框架(生成决策树、可视化树)
-
决策树结果可视化中文乱码问题解决方案
-
可视化决策树:GraphViz's executables not found 报错解决方案
-
DecisionTree决策树算法及参数详解+实例+graphviz生成决策树
-
ID3决策树的Python实现以及可视化
-
Graphviz可视化决策树框架(生成决策树、可视化树)
-
可视化决策树模型
-
决策树可视化(sklearn、graphviz)——python数据分析与挖掘实战 5-2 决策树预测销售量高低
-
决策树可视化——anaconda下安装pydotplus以及graphviz
-
sklearn决策树与随机森林 参数及规则提取 模型可视化(初体验)