分享

机器学习之决策树随机森林原理及代码实现

决策树原理
代码实现
代码下载
=========================================================
原理:
决策树原理还是很简单的,先明白信息熵的含义
物理角度:原子混乱程度。
机器学习角度:不确定性。
决策树做分类的话:越往下的叶子节点越能确定类别,最后一层节点是根据不同决策确定的类别。
所以决策树从上到下的不确定性是有大到小的;可以用信息熵来决策哪个作为根节点。
信息熵咋算?H(Y)-H(Y|x=A)就是原始信息熵减去条件信息熵。
ID3:就是利用信息增益来确定哪个特征作为决策(根)
C4.5:基于ID3的算法,使用增益率解决了ID3的某一特征类别很多时的情况
gini系数:没搞清楚所以列出地址以后看
python实现:http://blog.csdn.net/suipingsp/article/details/42264413
数学推导:http://3y.uu456.com/bp_2warj5p3b60a6ri16zu8_1.html
笔记一
微信图片_20170829203038.jpg

ID3算法代码
微信图片_20170829203038.png    
决策树代码:使用回归实现
微信图片_201708292030381.png

剪枝:预剪枝:设定树的深度,叶子个数;后剪枝:将叶子节点去掉看真个决策树的(信息熵)变化?影响不大就剪去。

使用RF计算样本间的相似度:m棵树,相似度高的落在同一叶子。可以利用相似度作聚类,选样本
使用RF计算特征重要度:改变经过节点的数目,ginni系数等指标,看新模型的正确率变化,看特征的重要度。
Isolation Forest:
随机选择特征,随机选择分割点,生成决策树iTree;若干颗iTree组成iForest
计算iTree中样本x从根到叶子的长度f(x)
计算iForest中f(x)的总和F(x)
异常值检测:若样本x为异常值:它该在大多数iTree中很快到达叶子,即F(x)较小。

代码下载地址
git@github.com:pergrand/ML.git

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条