您的位置:首页 > 其它

Machine Learning in Action 学习笔记-(3)决策树

2016-06-01 22:43 253 查看
决策树对于我们来说就像是一个具有终止块的流程图一样,终止块就向我们展示了分类的结果。

通过使得信息熵变化至最小的原理构建我们的决策树不同的层,并且我们可以使用treePlotter.py这个模块来实现决策树的树形图绘制,能够更加直观的向我们展示决策树的结构。

决策树的层数将会极大的和我们所具有的feature的数量有关,可能会存在终止块中无法准确决策出结果的情况(比如说feature过少)

这一章讲解的内容是基于ID3算法的决策树,关于ID3算法:http://baike.baidu.com/link?url=MHew5hKGduQJeZwo4Rs5jK7rrl_oB8CyY6AhBxeHe3aTFnvXz-9gA1MPAHkaTyLQXF6BH4qQiAWl_i7OFdwJD_

后续章节会提到CART算法:http://www.tuicool.com/articles/jAB7ve

这里对于决策树的存储我们不会构造新的数据结构,而是使用python自带的dictionary(字典)的形式来保存数据

使用python的pickle模块来进行决策树的保存和读取工作。

利用ID3算法可能会存在过度匹配问题,这时候就需要剪枝等工作,合并相邻的无法产生大量信息增益的叶子点。

这时候就可以使用C4.5算法:http://blog.csdn.net/aladdina/article/details/4141048

发现了一个很好用的Python的字典:http://www.runoob.com/python/python-tutorial.html 虽然名字有点衰

关于数据:

监督学习一般使用两种类型的目标变量:标称型和数值型
标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)
数值型:数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析)
今天就到这里,六一快乐!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: