用python实现决策树ID3算法,对隐形眼镜类型预测

本节讲解如何预测患者需要佩戴的隐形眼镜类型。

1、使用决策树预测隐形眼镜类型的一般流程

(1)收集数据:提供的文本文件(数据来源于UCI数据库)

(2)准备数据:解析tab键分隔的数据行

(3)分析数据:快速检查数据,确保正确地解析数据内容,使用createPlot()函数绘制最终的树形图

(4)训练算法:createTree()函数

(5)测试算法:编写测试函数验证决策树可以正确分类给定的数据实例

(6)使用算法:存储数的数据结构,以使下次使用时无需重新构造树

trees.py如下:

treePlotter.py如下:

12 createPlot.ax1.annotate(nodeTxt,xy=parentPt,xycoords='axes fraction',xytext=centerPt,textcoords='axes fraction',va="center",ha="center",bbox=nodeType,arrowprops=arrow_args)

13 def createPlot():

lenses.txt如下:

运行如下:

由图看出决策树非常好地匹配了实验数据,然而这些匹配选项可能太多。我们将这种问题称之为过度匹配(overfitting)。为了减少过度匹配问题,我们可以裁剪决策树,去掉一些不必要的叶子节点。如果叶子节点只能增加少许信息,则可以删除该节点,将它并入到其他叶子节点中。


原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

sparklines迷你图系列13——Composition(TreeMap)

今天跟大家分享的是sparklines迷你图系列12——Composition(TreeMap)。 使用sparklines迷你图工具,可以在excel中轻松制...

26810
来自专栏懒人开发

(1)James Stewart Calculus 5th Edition:Functions and Models

823
来自专栏计算机视觉

Python中plt.plot图像保存有白边,CV2.polyline,fillpoly的参数问题,图像保存颜色发生异常

Python中,如果你遇到了PIL图像保存有白边,CV2.polyline,fillpoly,参数问题,图像保存颜色发生异常这几个问题,这篇文章就能够解决你的疑...

752
来自专栏数据结构与算法

2292 图灵机游戏

2292 图灵机游戏 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 黄金 Gold 题目描述 Description 【Shad...

3117
来自专栏zingpLiu

机器学习之线性代数

  完整内容已上传到github:https://github.com/ZingP/machine-learning/tree/master/linear_al...

551
来自专栏wym

python实现opencv学习七:图片色素的数值运算(加减乘除)和逻辑运算(与或非异或)

例图:(若想用下面两张图可另存为图片,若保存的文件无后缀,添加后缀为.jpg即可)

1174
来自专栏码云1024

游戏中的人物是如何寻路的?

1477
来自专栏数值分析与有限元编程

有限元 | 梁单元有限元程序算例

之前发过一个梁单元有限元分析程序。在好友测试时发现一个问题,就是程序中的real型变量默认为kind=4,我们姑且称为单精度型。这样限制了程序的使用,在一些问题...

2668
来自专栏数据科学与人工智能

【Python环境】监督学习之KNN算法

1、ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置...

2267
来自专栏申龙斌的程序人生

零基础学编程037:小数据分析

R语言内置强大的向量运算,是搞数据分析的强大的编程语言,而Python也毫不逊色。今天就试着分析一下考试成绩表中两门科目的相关性。 问题描述: 有一个CSV文件...

3209

扫描关注云+社区