机器学习-决策树
概念决策树通过对训练样本的学习建立分类规则然后依据分类规则对新样本数据进行分类预测属于有监督学习。核心所有数据从根节点逐步落到叶子节点。决策树主要有三种算法ID3 算法、C4.5 算法、CART 决策树我们首先学习 ID3 算法。衡量标准熵值表示随机变量不确定性的度量或者说是系统内部的混乱程度。熵值计算公式A 集合[1, 1, 1, 1, 1, 1, 1, 1, 2, 2] B 集合[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]A 集合熵值\(-2/10*\log_2(2/10)-8/10*\log_2(8/10) 0.722\)B 集合熵值\(-1/10*\log_2(1/10)*10 3.322\)显然 B 的熵值更大更加混乱。决策树无限制生长时会学习训练集里的噪声和特例对训练数据预测效果极好但对未见过的测试数据预测效果很差。剪枝通过简化树结构来提升模型泛化能力。为了防止过拟合我们通常会对决策树进行剪枝决策树剪枝分为预剪枝与后剪枝我们先学习预剪枝。预剪枝的常见策略包括限制树的深度限制叶子节点的个数以及叶子节点的样本数基尼系数方式核心思想优缺点预剪枝树构建过程中提前停止分裂还没长成完整树训练速度快容易欠拟合后剪枝先生成完整决策树自底向上删除多余分支效果通常更好训练耗时更高代码示例读取 Excel 文件data 取所有信息除了最后一行target 取最后一行为训练做准备datas pd.read_excel(电信客户流失数据2.xlsx) data datas.iloc[:,:-1] target datas.iloc[:,-1]划分训练集和测试集from sklearn.model_selection import train_test_split data_train, data_test, target_train, target_test train_test_split(data, target, test_size0.2, random_state0)对决策树进行预剪枝criterion 为分裂标准max_depth 为最大深度min_samples_leaf 为叶节点最少样本数并进行训练from sklearn import tree dtr tree.DecisionTreeClassifier( criteriongini, max_depth15, min_samples_leaf5, random_state0 ) dtr.fit(data_train, target_train)以下是训练集和测试集的评估报告train_predicted dtr.predict(data_train) from sklearn import metrics print(metrics.classification_report(target_train, train_predicted)) cm_plot(target_train, train_predicted).show()test_predicted dtr.predict(data_test) from sklearn import metrics print(metrics.classification_report(target_test, test_predicted)) cm_plot(target_test, test_predicted).show() dtr.score(data_test, target_test)import matplotlib.pyplot as plt from sklearn.tree import plot_tree fig, ax plt.subplots(figsize(32, 32)) plot_tree(dtr, filledTrue, axax) plt.show()输出为precision recall f1-score support 0 0.91 0.93 0.92 357 1 0.78 0.74 0.76 123 accuracy 0.88 480 macro avg 0.85 0.83 0.84 480 weighted avg 0.88 0.88 0.88 480 precision recall f1-score support 0 0.90 0.81 0.85 89 1 0.57 0.74 0.65 31 accuracy 0.79 120 macro avg 0.74 0.78 0.75 120 weighted avg 0.82 0.79 0.80 120决策树回归import pandas as pd from sklearn import tree datas pd.read_csv(r多元回归.csv, encodinggbk) datad_X datas[[体重, 年龄]] data_y datas[血压收缩] dtr tree.DecisionTreeRegressor(random_state0) # 与决策树分类不同在这里 dtr.fit(datad_X, data_y) score dtr.score(datad_X, data_y) print(data_y) print(score)输出为0 120 1 141 2 124 3 126 4 117 5 125 6 123 7 125 8 132 9 123 10 132 11 155 12 147 Name: 血压收缩, dtype: int64 1.0

相关新闻

从零部署Web应用:粉丝空间站项目实战与通用技术验证框架

从零部署Web应用:粉丝空间站项目实战与通用技术验证框架

这次我们来看一个名为“粉丝空间站”的项目。从名称和有限的材料来看,这很可能是一个面向内容创作者或社群运营者的工具,旨在帮助管理粉丝、增强互动或提供专属内容空间。对于技术博主、UP主或社群管理者而言,一个能稳定运行、支持自定义、且…

2026/8/5 8:28:40 阅读更多 →
Java缓存性能对比:Caffeine与Guava Cache的严谨基准测试方法论

Java缓存性能对比:Caffeine与Guava Cache的严谨基准测试方法论

在实际项目开发中,我们经常需要对不同方案、不同版本或不同数据集进行对比分析,以评估性能、成本、效果或稳定性。这种“论惨对比”——即深入、细致且有时甚至有些“残酷”地揭示差异的对比——是技术决策和问题排查的核心环节。然而,很多开…

2026/8/5 8:27:39 阅读更多 →
Deepseek性价比之王背后的极致压缩技术MLA原理解析_MOE混合专家模型---AI大模型系统从零开始0047

Deepseek性价比之王背后的极致压缩技术MLA原理解析_MOE混合专家模型---AI大模型系统从零开始0047

DeepSeek-V3 是一款混合专家大模型(MoE): 参数规模 总共有 671 亿参数,但它不是全部同时干活。每处理一段文字(令牌),只激活 37 亿参数参与计算。 好处:推理时算力开销远小于同等总参数的稠密大模型,跑起来更省钱、更快。 核心技术底子 沿用在 DeepSeek-V2 验证成功的…

2026/8/5 8:27:39 阅读更多 →

最新新闻

为什么Bebas Neue成为设计师最爱的免费商用字体?设计哲学深度解析

为什么Bebas Neue成为设计师最爱的免费商用字体?设计哲学深度解析

为什么Bebas Neue成为设计师最爱的免费商用字体?设计哲学深度解析 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 你是否曾经为项目寻找完美的标题字体而烦恼?想要那种既有视觉冲击力&…

2026/8/5 11:36:13 阅读更多 →
3分钟解决Windows软件兼容性问题:VisualCppRedist AIO完整指南

3分钟解决Windows软件兼容性问题:VisualCppRedist AIO完整指南

3分钟解决Windows软件兼容性问题:VisualCppRedist AIO完整指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当你安装新软件或游戏时,是…

2026/8/5 11:36:13 阅读更多 →
抖音批量下载终极指南:告别手动操作,效率提升10倍

抖音批量下载终极指南:告别手动操作,效率提升10倍

抖音批量下载终极指南:告别手动操作,效率提升10倍 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…

2026/8/5 11:36:13 阅读更多 →
企业怎么制作微信小程序?从注册资质到模板搭建和上线运营

企业怎么制作微信小程序?从注册资质到模板搭建和上线运营

微信小程序正在从单一的轻应用入口,转向商家连接用户、承接内容流量和完成服务转化的经营基础设施。对企业和个体商家来说,制作小程序不再只是“有一个线上页面”,而是把展示、预约、客服、会员、支付、核销、售后等环节放进微信生态&#xf…

2026/8/5 11:36:13 阅读更多 →
终极桌面分区神器:如何用NoFences在3分钟内整理Windows桌面

终极桌面分区神器:如何用NoFences在3分钟内整理Windows桌面

终极桌面分区神器:如何用NoFences在3分钟内整理Windows桌面 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences NoFences是一款完全免费的Windows桌面分区工具&#x…

2026/8/5 11:36:12 阅读更多 →
【工业仿真应用实战】第06篇:平板与多层板导热稳态分析:从传热学理论到 Fluent 数值验证

【工业仿真应用实战】第06篇:平板与多层板导热稳态分析:从传热学理论到 Fluent 数值验证

摘要:导热是传热学三大基本方式里最"安静"的一种,却是设备散热、保温设计最常碰到的场景。本文用两个 Fluent 实战案例把平板导热讲透:案例一模拟空气流过 350K 发热平板的换热(2D、k-ε、可压缩理想气体),案例二复现传热学课本里的三层平壁导热问题(铝-金-铜…

2026/8/5 11:35:12 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →