决策树算法简介

决策树(decision tree)

一、背景知识

符号xi的信息量:

L(xi) = - log2p(xi)

熵:

H = - p(xi)log2p(xi)

信息增益:

特征A对训练数据集D的信息增益g(D,A) = H(D) - H(D|A)

其中,定义集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)


二、优缺点及适用数据类型

优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能产生过度匹配问题,连续变量处理效果不好。
适用数据类型:数值型和标称型。

三、基本算法——ID3算法

决策树类似于流程图的树结构:

每个内部节点表示在一个属性上的测试
每个分支表示一个属性输出
树叶节点表示类或类分布
树的最顶层是根节点

算法:

寻找划分数据集的最好特征,划分数据集,创建分支点
对于划分的子集,递归上步
递归终止条件:所有子项属同一类或用完所有特征(使用多数表决分类)

四、优化

构造决策树很耗时:

→将分类器存储在硬盘上,使用Python中的pickle模块

处理连续性变量的属性:

→离散化

避免overfitting

→先剪枝、后剪枝


五、算法比较
C4.5gain ratio
CARTgain index
ID3(信息增益)

异:属性选择度量方法不同

同:都是贪心算法,自上而下


六、实现代码地址
https://code.csdn.net/snippets/2602934.git






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值