用python实现决策树及可视化

数据文件如下:
在这里插入图片描述
代码如下:

import os
os.environ["PATH"] += os.pathsep + 'F:/graphviz-2.38/release/bin'
import csv

from sklearn.feature_extraction import DictVectorizer
from sklearn import preprocessing
from sklearn import tree

# 导入文件
film_data = open('film.csv', 'rt')
reader = csv.reader(film_data)
headers = next(reader)
# 打印表头
print(headers)
# 创建特征集和结果集
feature_list = []
result_list = []

# 遍历,特征集追加字典,该字典由header[1:-1]和row[1:-1]
# 结果集追加row[-1]
for row in reader:
    feature_list.append(dict(zip(headers[1:-1], row[1:-1])))
    result_list.append(row[-1])
print(feature_list)
print(result_list)

# 将dict类型的数据转换成nummpy array
vec = DictVectorizer()
# 将你的List转化成二进制形式并且已按照List原格式首字母排序
# country gross type
dummyX = vec.fit_transform(feature_list).toarray()
dummyY = preprocessing.LabelBinarizer().fit_transform(result_list)
print(dummyX)
print(dummyY)

clf = tree.DecisionTreeClassifier(criterion='entropy', random_state=0)
clf = clf.fit(dummyX, dummyY)
print("clf:" + str(clf))

import pydotplus

dot_data = tree.export_graphviz(clf,
                                feature_names=vec.get_feature_names(),
                                filled=True, rounded=True,
                                special_characters=True,
                                out_file=None)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("film.pdf")

这里要安装:GraphViz’s executables
配置环境变量的时候不知道什么原因没找到参数
解决方法,在代码中插入:

import os
os.environ["PATH"] += os.pathsep + 'F:/graphviz-2.38/release/bin'

决策树如下:
在这里插入图片描述

参考:Python决策树可视化:GraphViz’s executables not found的解决方法

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值