Python实现决策树_ID3算法

该博客详细介绍了如何使用Python实现决策树算法_ID3,包括计算香农熵、选择最佳特征划分、构建决策树节点等关键步骤,提供了一个完整的ID3决策树创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

决策树:

ID3算法:
1、香农熵:
如果待分类的事务可能划分在多个分类中,则  x   的信息定义为: 其中 p (   x ) 选择该分类的概率。
熵定义为信息的期望值,计算公式为:当熵越高时,说明不同类型的数据越多,数据集集合无序程度越高。
选择dataSet数据集中最后一项分类( featVec[- 1 ])的香农熵计算,代码实现如下:

  1. import math
  2. def calcShannonEnt(dataSet):
  3.     numEntries = len(dataSet)
  4.     labelCounts = {}
  5.     for featVec in dataSet:
  6.         currentLabel = featVec[-1]
  7.         labelCounts[currentLabel] = labelCounts.get(currentLabel, 0) + 1  
  8.     shannonEnt = 0.0
  9.     for key in labelCounts:
  10.         prob = float(labelCounts[key])/numEntries
  11.         shannonEnt -= prob * math.log(prob,2)
  12.     return shannonEnt 

2、按给定的特征划分数据集:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值