当前位置: 首页 > news >正文

机器学习实操 第一部分 机器学习基础 第6章 决策树

机器学习实操 第一部分 机器学习基础 第6章 决策树

内容概要

第6章深入介绍了决策树,这是一种功能强大的机器学习算法,能够处理分类、回归以及多输出任务。决策树通过递归地分割数据集来构建模型,具有易于解释和可视化的特点。本章详细讲解了决策树的训练算法、正则化方法以及在不同任务中的应用。通过理论和实践相结合的方式,读者将掌握如何使用决策树解决实际问题。

在这里插入图片描述

主要内容

  1. 决策树的训练与可视化

    • 构建决策树:使用CART算法训练决策树,通过递归分割数据集来构建树结构。
    • 可视化决策树:使用export_graphviz函数输出树结构,并通过Graphviz工具进行可视化。
  2. 决策树的预测过程

    • 分类任务:从根节点开始,根据特征值递归地向下遍历树,直到到达叶节点,输出叶节点中样本最多的类别。
    • 回归任务:类似地,输出叶节点中样本的平均值作为预测值。
  3. CART算法

    • 分类任务:通过最小化基尼不纯度来选择最优的特征和阈值进行分割。
    • 回归任务:通过最小化均方误差(MSE)来选择最优的特征和阈值进行分割。
  4. 正则化技术

    • 过拟合问题:决策树容易过拟合训练数据,需要通过正则化参数(如max_depthmin_samples_splitmin_samples_leaf等)来限制树的复杂度。
    • 剪枝技术:通过统计检验(如卡方检验)来剪枝不必要的节点,减少过拟合。
  5. 决策树的优缺点

    • 优点:易于解释、可视化,对数据预处理要求低。
    • 缺点:对数据的旋转敏感,容易过拟合,方差较高。
  6. 多输出任务

    • 多输出分类:决策树可以扩展到多输出任务,通过同时预测多个目标变量。

关键代码和算法

6.1 决策树分类

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, export_graphviz
from graphviz import Source# 加载数据
iris = load_iris(as_frame=True)
X_iris = iris.data[["petal length (cm)", "petal width (cm)"]].values
y_iris = iris.target# 训练决策树分类器
tree_clf = DecisionTreeClassifier(max_depth=2, random_state=42)
tree_clf.fit(X_iris, y_iris)# 可视化决策树
export_graphviz(tree_clf, out_file="iris_tree.dot",feature_names=["petal length (cm)", "petal width (cm)"],class_names=iris.target_names, rounded=True, filled=True)
Source.from_file("iris_tree.dot")

6.2 决策树回归

import numpy as np
from sklearn.tree import DecisionTreeRegressor# 生成非线性数据
np.random.seed(42)
X_quad = np.random.rand(200, 1) - 0.5
y_quad = X_quad ** 2 + 0.025 * np.random.randn(200, 1)# 训练决策树回归器
tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)
tree_reg.fit(X_quad, y_quad)

6.3 正则化决策树

from sklearn.datasets import make_moons
from sklearn.model_selection import train_test_split# 生成非线性数据
X_moons, y_moons = make_moons(n_samples=150, noise=0.2, random_state=42)# 训练决策树分类器
tree_clf1 = DecisionTreeClassifier(random_state=42)
tree_clf2 = DecisionTreeClassifier(min_samples_leaf=5, random_state=42)
tree_clf1.fit(X_moons, y_moons)
tree_clf2.fit(X_moons, y_moons)# 评估模型
X_moons_test, y_moons_test = make_moons(n_samples=1000, noise=0.2, random_state=43)
print("Unregularized tree accuracy:", tree_clf1.score(X_moons_test, y_moons_test))
print("Regularized tree accuracy:", tree_clf2.score(X_moons_test, y_moons_test))

精彩语录

  1. 中文:决策树是一种强大的机器学习算法,能够处理分类和回归任务。
    英文原文:Decision trees are versatile machine learning algorithms that can perform both classification and regression tasks.
    解释:强调了决策树的多功能性。

  2. 中文:决策树的一个重要特点是它们的预测过程易于解释。
    英文原文:One of the many qualities of decision trees is that they require very little data preparation.
    解释:指出了决策树的一个优势,即对数据预处理要求低。

  3. 中文:CART算法通过最小化基尼不纯度或均方误差来选择最优的分割特征和阈值。
    英文原文:The CART algorithm works by first splitting the training set into two subsets using a single feature k and a threshold t.
    解释:介绍了CART算法的基本原理。

  4. 中文:决策树的过拟合问题可以通过调整正则化参数来缓解。
    英文原文:To avoid overfitting the training data, you need to restrict the decision tree’s freedom during training.
    解释:强调了正则化在决策树训练中的重要性。

  5. 中文:决策树对数据的旋转敏感,因此在某些情况下可能需要进行特征工程。
    英文原文:Decision trees love orthogonal decision boundaries (all splits are perpendicular to an axis), which makes them sensitive to the data’s orientation.
    解释:指出了决策树的一个局限性。

总结

通过本章的学习,读者将掌握决策树的核心概念和应用方法。这些内容包括决策树的训练、可视化、预测过程,以及如何通过正则化技术来避免过拟合。此外,本章还介绍了决策树在分类和回归任务中的应用,以及其优缺点。决策树的透明性和灵活性使其成为许多实际应用中的首选算法。

相关文章:

  • 高定电视,一场关于生活方式的觉醒
  • 基于 ARM 的自动跟拍云台设计
  • 第六章 QT基础:7、Qt中多线程的使用
  • Vue常用的修饰符有哪些有什么应用场景(含deep seek讲解)
  • 嵌入式设备异常掉电怎么办?
  • 第三方软件测试报告如何凭借独立公正与专业权威发挥关键作用?
  • CA校验主辅小区配置及UE能力
  • 通过 Node.js 搭配 Nodemailer 实现邮箱验证码发送
  • 分治而不割裂—分治协同式敏捷工作模式
  • Plant Simulation MultiPortalCrane Store 小案例
  • 【网络编程】socket编程和TCP协议
  • 远程桌面导致Quartus 破解失效
  • 爬虫学习笔记(四)---request入门
  • npm如何安装pnpm
  • OpenObserve API Usage Guide for Log Management
  • BT134-ASEMI机器人功率器件专用BT134
  • < 自用文 rclone > 在 Ubuntu 24 访问 Google Drive 网络内容
  • JSX初学习
  • 缺口拼图3.3,某里v2,研究分析
  • 海外社交App的Web3革命:去中心化社交与Token经济实战指南
  • 黄宾虹诞辰160周年|一次宾翁精品的大集结
  • 海尔智家一季度营收791亿元:净利润增长15%,海外市场收入增超12%
  • 五一小长假,带着小狗去上海音乐厅
  • 新华保险一季度净赚58.82亿增19%,保费收入增28%
  • 市场监管总局:2024年查办商标、专利等领域违法案件4.4万件
  • 阿里开源首个“混合推理模型”:集成“快思考”、“慢思考”能力