算法学习——决策树(1)

学习使用的书籍和资料:《统计学习方法》,《机器学习实战》,百度以及网易云课堂的课程

决策树是一种基本的“分类”和“回归”方法,本文主要讨论用于分类的决策树。
决策树的优点:计算速度快,即计算复杂度不高,且输出结果易于理解,对中间的缺失值不敏感,可以处理不相关的特征数据。
决策树的缺点:可能会产生过度匹配的问题。

决策树模型
1.定义
分类决策树模型是一种描述对实例进行分类的树形结构。由结点(node)和有向边(directed edge)组成。
结点的类型:内部结点(internal node,表示一个特征或一个属性 ),、叶结点(leaf node,表示一个类)
2.if-then
将决策树转化为if-then规则过程:根结点——叶结点的每一条路径构建一条规则;路径内部结点的特征即规则的条件,而叶节点的类即规则的结论。
if-then或者决策树路径的性质:互斥并且完备。
创建决策树分支的伪代码

createBranch():
if so return 类标签:
Else:
    寻找划分数据集的最好特征
    划分数据集
    创建分支节点
        for 每个划分的子集:
            调用函数createBranch()
    return 分支节点

决策树的一般流程
(1)收集数据
(2)准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化

标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)
数值型:数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析)

(3)分析数据
(4)训练算法
(5)测试算法
(6)使用算法

决策树学习算法过程:特征的选择、决策树的生成、决策树的剪枝
常用算法:ID3、C4.5、CART

特征的选择
通常特征选择的准则是信息增益或者信息增益比。

信息增益
信息熵:离散随机事件出现的概率,一个系统越是有序,信息熵就越低,反之一个系统越是混乱,它的信息熵就越高。所以信息熵可以被认为是系统有序化程度的一个度量。
信息熵和信息增益具体看链接http://blog.csdn.net/acdreamers/article/details/44661149

用python计算信息熵

trees.py
from math import log
def 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值