决策树ID3的学习与实现
来源:互联网 发布:linux退出编辑模式 编辑:程序博客网 时间:2024/06/04 18:36
0. 绪论
昨天完成了决策树ID3算法的编码,心情真的很激动呀,虽然是针对具体数据而生的,但是还是很自豪的说。在这个过程中对ID3算法也加深了印象。
决策树学习主要是特征选择(实则是特征属性的排优)和基于ID3算法决策树的生成,对于决策树的剪枝本文并不讨论。
1. 示例数据
2. 预备知识
其中X是随机变量,在上面示例数据中x1=“是”,x2=“否”,即数据集D的分类;n为数据集类别的数目;Pi为某个类别在数据集D总类别中的频率。
条件熵H(Y|X):在随机变量X的条件下Y的不确定性。它的定义公式如下所示:
其中A表示某一个特征,例如可以为“贷款信誉”;n为贷款信誉特征的分类,此时n=3,表示数据集D被特征A分成了3个子数据集D1、D2、D3;K为分类的类别数目2;Di表示第i个子数据集的总数目;Dik表示第i个子数据集并且类别为k的数量。
尼玛,你要是问我这些算式为啥表示熵那我也母鸡呀,但是可以根据熵的定义式画一个坐标图表示一下,二分支时真的是p=0.5时H的值最大,也就是概率都是一半一半,聪明如计算机也不知道要选哪一个分支了。。。
3. 特征提取
下面重点来了,信息增益: G(D,A) = H(D) - H(D|A)
此将作为我们选取分支的最重要指标。在直观上理解,G(D,A)表示由于特征属性A而使得对数据集D分类的不确定性减少的程度。所以啊,这个值是越大越好的。依次递归(因为未确定类别的数据集是在逐渐减少的)计算,可以对数据集各个属性来排优。
4. ID3算法的实现(建立ID3决策树)
5. 总结
- 决策树ID3的学习与实现
- 《机器学习实战》决策树(ID3算法)的分析与实现
- 机器学习之决策树(ID3)算法与Python实现
- 决策树ID3的Python实现
- 【机器学习】决策树-ID3算法的Python实现
- 机器学习算法的Python实现 (2):ID3决策树
- 机器学习(三)决策树算法ID3的实现
- ID3决策树的算法原理与python实现
- 决策树ID3分类算法的C++实现
- 决策树 ID3 实现 真正的大牛
- 【JAVA实现】基于决策树的ID3算法
- 决策树ID3分类算法的C++实现
- 决策树分类ID3算法的Python实现
- ID3决策树的Python代码实现
- 决策树ID3分类算法的C++实现
- 决策树ID3算法的python实现
- ID3 算法实现决策树
- 决策树 id3 C++实现
- 如何更新android sdk
- Xcode7中你一定要知道的炸裂调试神技
- linux: 几个常用makefile模板
- 第八周--项目4字符串加密
- 5.3.4 贝塞尔样条曲线
- 决策树ID3的学习与实现
- 关于TableViewCell生成时dequeueReusableCellWithIdentifier的认识
- maven学习bug
- 适合于图像处理方向的SCI期刊杂志列表【转】
- BIOS+MBR+chameleon 黑苹果安装教程 10.10.5 Yosemite
- ubuntu下如何查找某个文件的路径
- linux 查看系统信息命令(比较全)
- leetcode之Remove Duplicates from Sorted Array
- POJ 3087 Shuffle'm Up