【Python机器学习】理论知识:决策树

决策树是广泛用于分类和回归任务的模型,本质上是从一层层if/else问题中进行学习,并得出结论。这些问题类似于"是不是"中可能问到的问题。

决策树的每个结点代表一个问题或一个包含答案的终结点(叶结点)。树的边奖问题的答案与将问的下一个问题连接起来。

用机器学习的语言来说,,为了得到预测结果,利用多个特征构建一个模型,可以利用监督学习从数据中学习模型,而不需要人为构建模型。

学习决策树,就是学习一系列if/else问题,使我们能够最快的速度得到正确答案。在机器学习中,这些问题就叫做测试。数据通常不具有二元特征(是/否),而是表现为连续特征。为了构造决策树,算法搜遍所有可能得测试,找到对目标变量来说信息量最大的一个。

顶结点(也叫根结点)表示整个数据集,包含属于类别0的所有点和类别1的所有点,通过测试的真假来对数据集进行区分。递归生成二元决策树,其中每个结点都包含一个测试。

对数据反复进行递归,直到划分后的每个区域都只包含单一目标值(单一类别或单一回归值)。如果树中某个叶结点包含的数据点的目标值都相同,那么这个叶结点就是纯的。

想要对新的数据点进行预测,首先要查看这个点位于特征空间划分的哪个区域,然后将该区域的多数目标值作为预测结果。从根结点开始对树进行遍历就可以找到这个区域,每一步向左还是向右取决于是否满足相应的测试。

决策树也可以用于回归任务,使用的方法相同。预测的方法是基于每个结点的测试对树进行遍历,最终找到新数据点所属的叶结点,这个数据点的输出也就是这个叶结点中所有训练点的平均目标值。

相关推荐
顾林海12 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱14 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽19 小时前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码19 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663671 天前
使用 Python 从零创建 Word 文档
python
Csvn2 天前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python