决策树 结构_机器学习实战:决策树(五)示例:预测隐形眼镜类型(含数据集)...

629877fcc5ad906553e54036e8416f81.png

微信公众号:qiongjian0427

运行环境:anaconda—jupyter notebook

Python版本:Python3

流程

(1) 收集数据:公众号。

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

(3) 分析数据:快速检查数据,确保正确解析数据,使用createPlot()函数绘制树形图。

(4) 训练算法:使用createTree()函数。

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

(6) 使用算法:储存树的数据结构,以便下次使用

代码

隐形眼镜数据集是非常著名的数据集,它包含了很多患者眼部状况的观察条件以及医生推荐的隐形眼镜类型。

隐形眼镜类型包括硬材质(hard)、软材质(soft)以及不适合佩戴隐形眼镜(no lenses)。

特征有四个:age(年龄)、prescript(症状)、astigmatic(是否散光)、tearRate(眼泪数量)

fr=open('lenses.txt')
lenses=[inst.strip().split('t') for inst in fr.readlines()]
lensesLabels=['age','prescript','astigmatic','tearRate']
lensesTree=createTree(lenses,lensesLabels)

运行结果:

19065355822742b9dc1186844bd7d93e.png

决策树可能会产生过多的数据集划分,从而产生过度匹配数据集的问题。

可以通过裁剪决策树,合并相邻的无法产生大量信息增益的叶节点,消除过度匹配问题。

决策树小结

决策树分类器就像带有终止块的流程图,终止块表示分类结果。

开始处理数据集时,我们首先要测量集合中数据的不一致性, 也就是,然后寻找最优方案划分数据集,直到数据集中的所有数据属于同一分类

ID3算法无法直接处理数值型数据,可以用于划分标称型数据集。

构建决策树时,我们]通常采用递归的方法将数据集转化为决策树。

Matplotlib的注解功能可以将存储的树结构转化为容易理解的图形。

Python语言的pickle模块可以储存决策树的结构。

隐形眼镜的例子表明决策树可能会产生过多的数据集划分,从而产生边度匹配数据集的问题。我们可以通过裁剪决策树,合并相邻的无法产生大量信息增益的叶节点消除过度匹配问题。

其他的决策树的算法最流行的是C4.5和CART。后面会学到CART。

end.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值