机器学习中的熵

📅 发布时间:2026/7/8 16:19:06 👁️ 浏览次数:
机器学习中的熵
摘要本文探讨了熵在机器学习中的应用重点介绍了其在决策树算法中的作用。熵用于衡量数据集的纯度或随机性通过香农熵公式计算。决策树利用熵选择最优分割点以生成同质性更强的子集。文章还提供了Python实现示例使用鸢尾花数据集演示熵的计算过程得出初始熵值为1.585反映了三个类别的分布随机性。熵的概念源于热力学现已成为机器学习中重要的数据分割指标。目录机器学习中的熵熵的计算方法示例计算熵在决策树中的应用Python 实现熵的计算代码实现代码说明运行结果机器学习中的熵熵源于热力学后被应用于信息论、统计学和机器学习等多个领域。在机器学习中熵用于衡量数据集的纯度或随机性尤其在决策树算法中用于确定数据分割方式以生成同质性更强的子集。本文将介绍机器学习中的熵、其特性及 Python 实现。熵被定义为系统混乱度或随机性的度量。在决策树中熵用于衡量节点的纯度若一个节点中的所有样本都属于同一类别则该节点为 “纯节点”熵值为 0若样本均匀分布在多个类别中则节点纯度低、熵值高。熵的计算方法计算熵需先确定数据集中每个类别的概率。设 p(i) 为样本属于第 i 类的概率若数据集包含 k 个类别则系统的总熵记为 H(S)按香农熵公式计算示例计算假设有一个含 100 个样本的数据集其中 60 个属于 A 类40 个属于 B 类。则 A 类概率为 0.6B 类概率为 0.4数据集的熵为熵在决策树中的应用决策树算法中熵的核心作用是选择 “最优分割点”—— 目标是找到能使分割后子集总熵最低的分割方式从而让子集的同质性最强。具体流程如下1.计算整个数据集的初始熵 H(S)2.针对每个特征如 X1、X2的所有可能分割方式计算分割后的加权熵对特征 X1 分割对特征 X2 分割其中p1​,p2​,p3​,p4​ 为各子集的样本占比H(S1),H(S2),H(S3),H(S4) 为各子集的熵3.选择总熵最低的分割方式生成决策树的子节点4.递归重复上述过程直至所有节点为纯节点或满足停止条件。Python 实现熵的计算以下结合 scikit-learn 的 “鸢尾花iris数据集”演示熵的计算过程代码实现from sklearn.datasets import load_iris import numpy as np # 加载鸢尾花数据集 iris load_iris() # 提取特征数据和标签标签表示花的类别 X iris.data y iris.target # 定义熵计算函数 def entropy(y): n len(y) # 样本总数 # 统计每个类别的样本数量 _, counts np.unique(y, return_countsTrue) # 计算每个类别的概率占比 probs counts / n # 按香农熵公式计算熵 return -np.sum(probs * np.log2(probs)) # 计算鸢尾花数据集标签的熵 target_entropy entropy(y) # 输出结果保留3位小数 print(f标签熵值: {target_entropy:.3f})代码说明加载数据集使用load_iris()加载鸢尾花数据集包含 3 个类别、150 个样本熵计算函数entropy(y)统计标签中每个类别的样本数量计算每个类别的概率占比代入香农熵公式计算总熵输出结果计算并打印数据集标签的熵值。运行结果执行上述代码后输出如下plaintext标签熵值: 1.585该结果表明鸢尾花数据集的初始熵为 1.585反映了数据集中 3 个类别的分布随机性。