机器学习算法——决策树

决策树算法理论篇

1、决策树直观理解:
from ydk
假设,已知10人房产、婚姻、年收入以及能否偿还债务的样本,那么第11个人来,知其房产、婚姻、以及年收入情况,问他是否能偿还债务?
2、前置知识:
理解决策树,我们必须知道一下概念:
信息熵:描述系统的不确定度,熵越高,代表系统越混乱,包含的信息量也就越多,其公式:
在这里插入图片描述
例(计算前10个样本能否还债y的信息熵):-0.7log2(0.7)- 0.3log2(0.3)= 0.88
条件熵:给定条件X的情况下,所有不同x值情况下Y的信息熵的平均值叫做条件熵。
例(计算y能否还债相对于房产的条件熵):0.40 + 0.6[-0.5log2(0.5)]*2 = 0.6

3、解决问题
在明白了信息熵和条件熵后,我们再来看之前的问题,我们会发现房产、婚姻以及能否还债均是离散值,而年收入一项是连续值,所以:
第一步:连续值的离散化,其方法很多,主要有:(要根据实际业务需求

  1. 用KMeans算法
  2. 计算均方差
  3. 计算该字段相对于离散型预测字段的条件熵、条件基尼或者条件错误率等

这里为了简便,假设以100为界,大于等于它的为“高”收入,否则为“低”收入;
第二步:计算y相对于各个x的条件熵:

  1. H(能否偿债/房产) = L(能否偿债/房产=有) * P(房产=有) + L(能否偿债/房产=无) * P(房产=无)
    =0 * 0.4 + [-0.5*log(0.5)*2]*0.6 = 0.6
  2. H(能否偿债/婚姻) = 1 * 0.4 + 0 * 0.3 + 0.9183 * 0.3 = 0.6755
  3. H(能否偿债/收入) = 0 * 0.5 + 0.9710 * 0.5 = 0.4855

熵小的,信息增益必然大,所以ID3中可以只看熵(越小越好
按收入划分
在这里插入图片描述
**第三步:**计算各个子结点中y相对于各个x的条件熵

  • 左边:能否偿债恒等于能,终止继续往下划分,并确定为“能”偿债
  • 右边:H(能否偿债/房产) = 0 * 0.2 +0.8113 * 0.8 = *0.6490,
    H(能否偿债/婚姻) = 1 * 0.4 + 0 * 0.4 + 0 * 0.2 = *0.4

所以右边按婚姻划分
在这里插入图片描述
第四步:最后按照唯一剩下的字段房产划分
在这里插入图片描述
第五步:预测
在这里插入图片描述
首先收入85小于100,所以为低收入,其次,婚姻状况为单身,所以判定不能还债

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值