前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >决策树算法简单应用

决策树算法简单应用

作者头像
程裕强
发布2019-07-02 10:41:24
3320
发布2019-07-02 10:41:24
举报

版权声明:本文为博主原创文章,欢迎转载。 https://cloud.tencent.com/developer/article/1454236

代码语言:javascript
复制
# -*- coding: utf-8 -*-

from sklearn import tree

# visualize code
from sklearn.externals.six import StringIO
import pydotplus

# 决策树算法
# 初步的两个特性的判断,[重量,表皮光滑度](对于水果,可以是:1=光滑,0=粗糙)
# 结论标签,1=苹果,0=橘子
features = [[140,1],[130,1],[150,0],[170,0],[150,1],[130,0]]
features_names = ['重量','表皮光滑度']
labels   = [0, 0, 1, 1, 0, 1]
label_name = ['橘子','苹果']

#调用决策树算法的核心语句
dt = tree.DecisionTreeClassifier()
dt= dt.fit(features, labels)

#测试数据,预测[200,1]
print(dt.predict([[200,1]]))
# 可以根据测试数据,得到预测的结果

# 此处添加三个"截止
# 移动标记来进行代码运行测试
dot_data = StringIO()
tree.export_graphviz(dt,
                        out_file = dot_data,
                        feature_names = features_names,
                        class_names   = label_name,
                        filled   = True, rounded = True,
                        impurity = False)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue().replace('helvetica','"Microsoft YaHei"'))
print(dot_data)

#graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
#下面解决Windows下乱码问题
graph = pydotplus.graph_from_dot_data(dot_data.getvalue().replace('helvetica','"Microsoft YaHei"'))
print(graph)
graph.write_pdf("basic.pdf")

从执行结果可以知道预测200,1为苹果

代码语言:javascript
复制
runfile('D:/ai/py/tensorflow-basic.py', wdir='D:/ai/py')
[0]
<_io.StringIO object at 0x000001D93B47CA68>
<pydotplus.graphviz.Dot object at 0x000001D93B905F98>

修改数据

代码语言:javascript
复制
features = [[140,1],[130,1],[150,0],[170,0],[150,1],[130,0]]
features_names = ['重量','表皮光滑度']
labels   = [0, 0, 1, 0, 0, 1]

则200,0的预测结果是0

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档