决策树算法 java_决策树算法原理及JAVA实现(ID3)

0 引言

决策树的目的在于构造一颗树像下面这样的树。

a3a850fc46f8886f7d3cd3a313c3f504.png

图1

5dd785b37ee18abbda0a616e1ebb2542.png

图2

1. 如何构造呢?

1.1   参考资料。

本例以图2为例,并参考了以下资料。

写的东西非常经典。

(3)机器学习(Tom.Mitchell著) 第三章 决策树,里面详细介绍了信息增益的计算,和熵的计算。建议大家参考

1.2 数据集(训练数据集)

outlook

temperature

humidity

windy

play

sunny

hot

high

FALSE

no

sunny

hot

high

TRUE

no

overcast

hot

high

FALSE

yes

rainy

mild

high

FALSE

yes

rainy

cool

normal

FALSE

yes

rainy

cool

normal

TRUE

no

overcast

cool

normal

TRUE

yes

sunny

mild

high

FALSE

no

sunny

cool

normal

FALSE

yes

rainy

mild

normal

FALSE

yes

sunny

mild

normal

TRUE

yes

overcast

mild

high

TRUE

yes

overcast

hot

normal

FALSE

yes

rainy

mild

high

TRUE

no

1.3 构造原则—选信息增益最大的

从图中知,一共有四个属性,outlook     temperature    humidity  windy,首先选哪一个作为树的第一个节点呢。答案是选信息增益越大的作为开始的节点。信息增益的计算公式如下:

171683e2d70b3486b98dcaed777f411e.png

Entropy(s)是熵,S样本集,Sv是子集。熵的计算公式如下:

463e57a59b44313a7883bd732c016ced.png

举例:

根据以上的数据,我们只知道新的一天打球的概率是9/14,不打的概率是5/14。此时的熵为

b87df528caf00a2ea14c33bafa86b559.png

对每项指标分别统计:在不同的取值下打球和不打球的次数。

table 2

outlook

temperature

humidity

windy

play</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值