决策树 ID3 算法

ID3 算法

ID3 算法

  • ID3 算法最早是由罗斯昆 (J.Ross Quinlan) 于1975年提出的一种决策树构建算法,算法的核心是"信息熵",期望信息越小,信息熵越大,样本纯度越低。。
  • ID3 算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳分类
  • ID3 算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。

ID3 算法步骤:

  • 1.初始化特征集合和数据集合
  • 2.计算数据集合信息和所有特征的条件熵,选择信息增益最大的特征作为当前决策节点
  • 3.更新数据集合和特征集合(删除上一步使用的特征,并按照特征值来划分不同分支的数据集合)
  • 4.重复 2,3 两步,若子集值包含单一特征,则为分支叶子节点。

信息熵

H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ log ⁡ 2 ∣ C k ∣ ∣ D ∣ H(D)=-\sum_{k=1}^{K} \frac{\left|C_{k}\right|}{|D|} \log {2} \frac{\left|C{k}\right|}{|D|} H(D)=−k=1∑K∣D∣∣Ck∣log2∣D∣∣Ck∣

K是类别,D是数据集, C k C_{k} Ck是类别K下的数据集

条件熵

H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) H(D | A)=\sum_{i=1}^{n} \frac{\left|D_{i}\right|}{|D|} H\left(D_{i}\right) H(D∣A)=i=1∑n∣D∣∣Di∣H(Di)

A是特征,i是特征取值

信息增益(ID3)

g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)

特征选择的目的在于选取对训练数据能够分类的特征,关键是其准则

样本集合 D D D对特征 A A A的信息增益(ID3)

g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D, A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)

其中, H ( D ) H(D) H(D)是数据集 D D D的熵, H ( D i ) H(D_i) H(Di)是数据集 D i D_i Di的熵, H ( D ∣ A ) H(D|A) H(D∣A)是数据集 D D D对特征 A A A的条件熵。 D i D_i Di是 D D D中特征 A A A取第 i i i个值的样本子集, C k C_k Ck是 D D D中属于第 k k k类的样本子集。 n n n是特征 A A A取 值的个数, K K K是类的个数。

ID3 算法缺点

ID3 没有剪枝策略,容易过拟合

信息增益准则对可取值数目较多的特征有所偏好,类似"编号"的特征其信息增益接近于 1

只能用于处理离散分布的特征没有考虑缺失值

相关推荐
AI云海1 小时前
完整机器学习工业项目流水线笔记
人工智能·笔记·机器学习
Tisfy2 小时前
LeetCode 3345.最小可整除数位乘积 I:暴力枚举(从n开始尝试)
数学·算法·leetcode·题解·枚举
DolphinDB智臾科技2 小时前
告别 TB 级数据搬运:DolphinDB 滤波算法库,重塑物联网数据价值链
物联网·算法
可编程芯片开发3 小时前
基于双PI控制器结构的六步逆变器供电无刷直流电机调速simulink仿真
算法
Sagittarius_A*3 小时前
后量子密码|通识认知 02|量子威胁核心原理:Shor 算法如何击穿传统公钥密码
算法·信息安全·密码学·量子计算
青山木4 小时前
Hot 100 --- 在排序数组中查找元素的第一个和最后一个位置
java·数据结构·算法·leetcode
其美杰布-富贵-李4 小时前
聚类算法详解:K-means、层次聚类与 DBSCAN
算法·机器学习·kmeans·聚类
碧海银沙音频科技研究院4 小时前
4 BES2710编译环境搭建方法
嵌入式硬件·算法
mifengxing5 小时前
LeetCode 238 除自身以外数组的乘积|无除法O(n)时间+O(1)空间双解法
java·算法·leetcode
依然鸣5 小时前
PTA团体程序设计天梯赛L2真题讲解L2-045-048
数据结构·c++·经验分享·学习·算法·pat考试·pat