机器学习(决策树)

一、决策树与随机森林基础概念:

决策树定义:从根节点逐步分裂至叶子节点的树形结构,数据最终落在叶子节点上。支持分类和回归任务。

随机森林:由多棵决策树组成的集成学习模型,继承决策树的分类/回归能力。属于集成学习方法(如Bagging)。

二、决策树构建关键点:

节点类型:根节点:初始未分割的完整数据集。

分支节点:通过特征条件分裂的子集。

叶子节点:不再分裂的最终节点,需保证同类数据纯度(如鸢尾花分类中单节点仅含一种花)。

数据结构类比:节点关系(根、父、子、兄弟)与二叉树概念一致。

训练与测试流程

训练阶段:从根节点开始选择最优特征进行切分,递归构建树结构。

测试阶段:根据训练好的树模型,从根节点向下遍历至叶子节点,完成分类/回归预测。

三、特征选择与信息增益:

根节点选择:需选取最能区分数据的特征(如西瓜案例中"声音响亮"对好瓜的判断力强)。

信息增益:熵(H):衡量数据集不确定性,熵越小纯度越高(如集合A={1,1,1,2}比B={1,2,3,4}更纯净)。

计算方式:信息增益 = 分裂前熵 - 分裂后熵,增益越大特征越优。

熵的计算公式:H = -Σ(p_i * log_a(p_i)),其中底数a通常取2,特殊情况需根据场景调整(a ∈ (1, +∞))。熵值越小表示数据越纯净(不确定性低),信息增益则是原始熵与划分后熵的差值,差值越大说明划分效果越好。

示例:当P=0.5时,通过代入公式验证熵值为1,底数取2可简化计算(log₂(1/2) = -1)。

熵的极值:当某类别概率pᵢ趋近0或1时,熵趋近0(确定性高);当各类别概率均等(如二分类中p=0.5)时熵最大。

对数函数性质:logₐ1=0(任何底数a),因此pᵢ=1时熵项为0。

注意事项:

决策树终止条件:叶子节点需达到完全分类(如鸢尾花节点仅含单一类别)。

特征排列组合:实际应用中需避免穷举所有特征顺序(计算量大),优先选择信息增益高的特征。

关键问题:

  1. 决策树的组成部分及其作用是什么?

    答案:决策树由根节点、非叶子节点与分支、叶子节点组成。根节点是第一个选择点,为特征选择起点;非叶子节点与分支是决策中间过程,用于进一步切分数据;叶子节点是最终的决策结果。

  2. 熵的含义及关键特性是什么?

    答案:熵是衡量随机变量不确定性的度量,公式为H(X)=−∑pi​⋅logpi​。关键特性:不确定性越大,熵值越大;当p=0或p=1时,熵为 0(无不确定性);当p=0.5时,熵为 1(不确定性最大)。

  3. 信息增益在决策树构造中的作用是什么?请结合实例说明。

    答案:信息增益用于衡量特征使类不确定性减少的程度,是选择最优特征作为节点的依据。实例中,14 天打球数据的初始熵为 0.940,分析 outlook 特征时,其加权熵为 0.693,信息增益为 0.247,通过比较各特征信息增益,可选择最大的作为根节点,逐步构造决策树。

相关推荐
Rock_yzh16 小时前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
WolfGang00732116 小时前
代码随想录算法训练营Day32 | 518.零钱兑换II、377. 组合总和 Ⅳ、70. 爬楼梯(进阶)
算法
鼎道开发者联盟17 小时前
智能原生操作系统畅想:人智共生新时代的基石
人工智能·机器学习·自然语言处理
轻抚酸~1 天前
KNN(K近邻算法)-python实现
python·算法·近邻算法
lisw051 天前
6G频段与5G频段有何不同?
人工智能·机器学习
Yue丶越1 天前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
小白程序员成长日记1 天前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字1 天前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
AndrewHZ1 天前
【图像处理基石】如何在图像中提取出基本形状,比如圆形,椭圆,方形等等?
图像处理·python·算法·计算机视觉·cv·形状提取
蓝牙先生1 天前
简易TCP C/S通信
c语言·tcp/ip·算法