哈工大手雷哥

迫于生计从脑科学转向J2EE,已转行,不再回答脑科学相关问题!

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

决策树对于我们来说就像是一个具有终止块的流程图一样,终止块就向我们展示了分类的结果。

通过使得信息熵变化至最小的原理构建我们的决策树不同的层,并且我们可以使用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等 (数值型目标变量主要用于回归分析)

今天就到这里,六一快乐!

阅读更多
个人分类: Python 机器学习
上一篇Machine Learning in Action 学习笔记-(2)kNN k近邻算法
下一篇Machine Learning in Action 学习笔记-(4)基于概率论的分类方法:朴素贝叶斯
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭