id3算法【python,算法,机器学习】

ID3 算法, 即 Iterative Dichotomiser 3(迭代二分器第三代)。算法通过迭代地选择具有最高信息增益的特征来分割数据集,从而递归地生成决策树模型,直至数据集被完美分类或无可分割的特征为止。

ID3 构建决策树的流程:

  1. 找到最优特征(信息增益值最高)。
  2. 最优特征,特征值作为有向边,判断子数据集
    • 全部是同一类:输出叶子节点。
    • 多类:
      • 如果子数据集中还有特征,那么再次找寻最优特征。
      • 如果子数据集中只剩下最后的分类结果了,那么输出最多的一类作为叶子节点。
  3. 直到叶子节点全部输出,或者无数据可遍历。

ID3 算法的特点:

  1. 只能处理离散型数据的学习计算。不能处理连续型数据。
  2. 容易产生过拟合现象(overfitting),泛化能力弱。

使用到的公式

  1. 信息熵(Entropy) H(X)=−∑i=1npilog⁡2piH(X)=-\sum\limits_{i=1}^{n} p_i\log_{2}{p_i}H(X)=i=1npilog2pi 其中,XXX表示样本,pip_ipi表示概率,并且∑i=1npi=1\sum\limits_{i=1}^{n}p_i=1i=1npi=1。例如投掷硬币,正面朝上的概率为1/2,反面朝上的概率为1/2,那么H(X)=−(12log⁡212+12log⁡212)=1H(X)=-(\frac{1}{2}\log_2\frac{1}{2}+\frac{1}{2}\log_2 \frac{1}{2})=1H(X)=(21log221
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值