wordpress单页淘客源码/seo站内优化包括

wordpress单页淘客源码,seo站内优化包括,wordpress 首页摘要,正规兼职做任务赚钱网站目录 0. 引言 1. 决策树是什么? 1.1 生活中的决策树 1.2 专业版决策树 2. 如何构建决策树? 2.1 关键问题:选哪个特征先判断? 2.1.1 信息熵(数据混乱度) 2.1.2 信息增益(划分后的整洁度提…

目录

0. 引言

1. 决策树是什么?

1.1 生活中的决策树

1.2 专业版决策树

2. 如何构建决策树?

2.1 关键问题:选哪个特征先判断?

2.1.1 信息熵(数据混乱度)

2.1.2 信息增益(划分后的整洁度提升)

2.1.3 增益率(修正版信息增益)

2.1.4 基尼指数(不纯度指标)

3. 经典算法对比

4. 实战案例:西瓜分类

4.1 数据集

4.2 信息增益计算全过程

4.2.1 计算初始熵

4.2.2 计算各特征的信息增益

5. 进阶技巧

5.1 基尼指数计算示例

步骤:计算每组的基尼指数

5.2 连续值处理(以密度为例)

步骤:计算每组的基尼指数

步骤:计算加权基尼指数

5.3 剪枝示例

6. 算法对比实验

7. 代码实战(伪代码)

8. 总结


0. 引言

大家好!今天我们要学习一种像"做选择题"一样的机器学习算法——决策树。想象你站在西瓜摊前,如何通过观察西瓜的特征(比如颜色、形状、声音)快速判断它是好瓜还是坏瓜?决策树就是帮你做这种"智能选择"的工具。让我们通过吃瓜群众最爱的例子,轻松掌握这个算法!


1. 决策树是什么?

1.1 生活中的决策树

假设你要买西瓜,可能会这样思考:

西瓜颜色是青绿吗?
├─是→ 瓜蒂是否蜷缩?
│   ├─是→ 敲击声是否浑浊?
│   │   ├─是→ 好瓜!
│   │   └─否→ 继续检查...
│   └─否→ 可能是生瓜
└─否→ 看看是不是乌黑皮...

这就是一棵简单的决策树!每个判断节点(如颜色、瓜蒂)都会引导我们走向最终结论。

1.2 专业版决策树

在机器学习中,决策树由以下部分组成:

  • 根节点:第一个判断条件(如"纹理是否清晰")
  • 内部节点:中间判断条件
  • 叶节点:最终结论(是/否好瓜)

2. 如何构建决策树?

2.1 关键问题:选哪个特征先判断?

就像做选择题时要选最有区分度的问题,决策树需要选择"最有价值"的特征优先判断。这里引入三个重要概念:

2.1.1 信息熵(数据混乱度)
  • 通俗解释:想象一个装满红蓝球的箱子,如果红蓝各半(混乱度高),熵值就大;如果全是红球(很整齐),熵值就小。
  • 公式熵 = -Σ(概率 × log概率)(不用记公式,知道概念就好)
2.1.2 信息增益(划分后的整洁度提升)
  • 通俗解释:用某个特征划分数据后,混乱度降低了多少。比如先按"纹理"分,好瓜/坏瓜的区分更明显,说明信息增益大。
  • 例子:西瓜数据中,按"纹理"划分的信息增益(0.381)远高于"触感"(0.006),所以优先选纹理。
2.1.3 增益率(修正版信息增益)
  • 问题:如果某个特征有很多取值(如"编号"),信息增益可能虚高
  • 解决:C4.5算法引入增益率,相当于给信息增益加了个"公平秤",避免偏向取值多的特征
2.1.4 基尼指数(不纯度指标)
  • 通俗解释:随机抽两个样本,类别不同的概率。基尼指数越小,数据越"纯"
  • 公式基尼指数 = 1 - Σ(概率²)

3. 经典算法对比

算法

特征选择标准

树结构

特点

ID3

信息增益

多叉树

基础版,但偏好取值多的特征

C4.5

增益率

多叉树

支持缺失值,能处理连续数据

CART

基尼指数

二叉树

可做分类和回归,效率更高


4. 实战案例:西瓜分类

4.1 数据集

我们用《西瓜书》中的经典数据集(简化版):

编号

色泽

根蒂

敲声

纹理

好瓜

1

青绿

蜷缩

浑浊

清晰

2

乌黑

蜷缩

沉闷

清晰

3

青绿

硬挺

清脆

模糊

4

乌黑

稍蜷

稍糊

稍糊

5

浅白

硬挺

清脆

模糊

6

青绿

稍蜷

稍糊

稍糊

4.2 信息增益计算全过程

目标:找出最优划分特征(色泽/根蒂/敲声/纹理)

4.2.1 计算初始熵
  • 好瓜:2个,坏瓜:4个
  • 熵 = -[(2/6)log₂(2/6) + (4/6)log₂(4/6)] ≈ 0.918
4.2.2 计算各特征的信息增益

① 纹理特征(取值:清晰、稍糊、模糊)

  • 清晰(2样本):2好瓜 → 熵=0
  • 稍糊(2样本):0好瓜 → 熵=0
  • 模糊(2样本):0好瓜 → 熵=0
  • 条件熵 = (2/6)*0 + (2/6)*0 + (2/6)*0 = 0
  • 信息增益 = 0.918 - 0 = 0.918(最大)

② 根蒂特征(蜷缩、硬挺、稍蜷)

  • 蜷缩(2样本):2好瓜 → 熵=0
  • 硬挺(2样本):0好瓜 → 熵=0
  • 稍蜷(2样本):0好瓜 → 熵=0
  • 信息增益=0.918(与纹理相同)

③ 色泽特征(青绿、乌黑、浅白)

  • 青绿(3样本):1好瓜,2坏瓜 → 熵=-(1/3log₂1/3 + 2/3log₂2/3)≈0.918
  • 乌黑(2样本):1好瓜,1坏瓜 → 熵=1
  • 浅白(1样本):0好瓜 → 熵=0
  • 条件熵 = (3/6)*0.918 + (2/6)*1 + (1/6)*0 ≈0.795
  • 信息增益=0.918-0.795=0.123

结论:纹理和根蒂的信息增益最大,但实际数据中纹理更优(完整数据集计算会更复杂)


5. 进阶技巧

5.1 基尼指数计算示例

用编号1-6的数据计算"根蒂"特征的基尼指数:

  • 蜷缩(2样本):基尼=1 - (2/2)² - (0/2)² = 0
  • 硬挺(2样本):基尼=1 - (0/2)² - (2/2)² = 0
  • 稍蜷(2样本):基尼=1 - (0/2)² - (2/2)² = 0
  • 加权基尼指数 = 0 → 说明该特征划分后数据最"纯"
步骤:计算每组的基尼指数

5.2 连续值处理(以密度为例)

假设密度数据:0.245, 0.243, 0.360, 0.310, 0.287, 0.403

步骤

  1. 排序:0.243, 0.245, 0.287, 0.310, 0.360, 0.403
  2. 计算相邻中间点:
    • (0.243+0.245)/2=0.244
    • (0.245+0.287)/2=0.266
    • ...
  1. 计算每个分割点的基尼指数:
    • 以0.310为分割点:
      • ≤0.310(4样本):2好瓜 → 基尼=1-(2/4)²-(2/4)²=0.5

0.310(2样本):0好瓜 → 基尼=0

      • 加权基尼 = (4/6)*0.5 + (2/6)*0 ≈0.333
  1. 选择基尼指数最小的分割点(此处0.310最优)
步骤:计算每组的基尼指数

步骤:计算加权基尼指数

加权基尼指数的公式为:

5.3 剪枝示例

预剪枝

  • 在划分"纹理=稍糊"节点时,若验证集准确率不提升则停止生长

后剪枝

  1. 先生成完整树:
纹理=清晰 → 好瓜
纹理=稍糊 → 根蒂=蜷缩 → 好瓜→ 根蒂=稍蜷 → 坏瓜
  1. 计算剪枝后损失函数:
  • 剪枝前:误差=0.1,复杂度=3
  • 剪枝后:误差=0.2,复杂度=1
  • 若损失函数 α=0.5,则剪枝后更优

6. 算法对比实验

使用完整西瓜数据集(17条数据)进行对比:

算法

划分标准

树深度

正确率

过拟合程度

ID3

信息增益

5

88%

C4.5

增益率

4

92%

CART

基尼指数

3

90%

现象解释

  • ID3因偏好"编号"等特征导致过拟合
  • C4.5通过增益率修正,但树深度仍较大
  • CART用二分法简化结构,泛化能力更强

7. 代码实战(伪代码)

# 计算信息熵
def entropy(data):counts = count_labels(data)total = len(data)ent = 0.0for label in counts:p = counts[label]/totalent -= p * log2(p)return ent# 计算信息增益
def info_gain(data, feature):original_ent = entropy(data)values = unique_values(data, feature)new_ent = 0.0for value in values:subset = split_data(data, feature, value)weight = len(subset)/len(data)new_ent += weight * entropy(subset)return original_ent - new_ent# 选择最优特征
def choose_best_feature(data):features = get_features(data)best_gain = 0best_feature = Nonefor feature in features:gain = info_gain(data, feature)if gain > best_gain:best_gain = gainbest_feature = featurereturn best_feature

8. 总结

决策树就像一个经验丰富的老师傅,通过一系列"是/否"问题快速做出判断。虽然它不是最强大的算法,但胜在简单直观,是机器学习入门的最佳选择之一。下次买西瓜时,不妨试试用决策树来挑瓜!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/73381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超融合服务器是什么

超融合服务器的定义与背景 超融合服务器(Hyperconverged Infrastructure, HCI)是一种通过软件定义技术,将计算、存储、网络和虚拟化功能整合到单一硬件平台中的IT基础设施解决方案。其核心目标是通过资源的高度集成和统一管理,简…

【网络层协议】NAT技术内网穿透

IP地址数量限制 我们知道,IP地址(IPv4)是一个4字节32位的整数,那么一共只有2^32也就是接近43亿个IP地址,而TCP/IP协议栈规定,每台主机只能有一个IP地址,这就意味着,一共只有不到43亿…

时隔多年,终于给它换了皮肤,并正式起了名字

时隔多年,终于更新了直播推流软件UI,并正式命名为FlashEncoder。软件仍使用MFC框架,重绘了所有用到的控件,可以有效保证软件性能,也便于后续进一步优化。 下载地址:https://download.csdn.net/download/Xi…

如何避免测试环境不稳定导致的误报

避免测试环境不稳定导致误报的核心方法包括搭建独立稳定的测试环境、使用环境监控工具、建立环境变更管理机制、定期维护更新测试环境以及提升团队的环境管理意识。 其中,搭建独立稳定的测试环境尤为关键。独立的测试环境能有效隔离其他环境的干扰,保证测…

Axure RP9教程 :轮播图(动态面板) | 头部锁定

文章目录 引言I 轮播图操作步骤在画布中添加一个动态面板设置面板状态II 头部锁定将头部区域选中,右键组合或用Ctrl+G快捷键;将组合的头部区域,右键创建动态面板;引言 动态面板的功能十分强大,比如:拥有独立的内部坐标系,有多个状态; Banner的案例中会用到动态面板多个…

Docker入门篇4:查看容器资源、查看容器详细信息、查看容器日志、查看容器内运行的进程

大家好我是木木,在当今快速发展的云计算与云原生时代,容器化技术蓬勃兴起,Docker 作为实现容器化的主流工具之一,为开发者和运维人员带来了极大的便捷 。下面我们一起开始入门第四篇:查看容器资源、查看容器详细信息、…

中学数学几百年重大错误:将无穷多各异假R误为R——两数集相等的必要条件

中学数学几百年重大错误:将无穷多各异假R误为R——两数集相等的必要条件 黄小宁 设集A{x}表A各元均由x代表,相应变量x的变域是A。其余类推。本人多年前公开发表的论文中有定理: h定理(两数集相等的必要条…

STM32使用红外避障传感器

1.1 介绍: 该传感器模块对环境光适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器…

python tkinter 开发蓍草占卜系统

1. 项目概述 1.1 简介 蓍草占卜是中国传统的占卜方法,用于演算六十四卦。本系统通过现代编程技术,将传统的蓍草占卜方法数字化,提供一个准确、便捷的占卜工具。 蓍草占卜,作为中国古代的一种传统占卜方法,承载着深厚…

2025-3-25算法打卡

一,走迷宫 1.题目描述: 给定一个 NMNM 的网格迷宫 GG。GG 的每个格子要么是道路,要么是障碍物(道路用 11 表示,障碍物用 00 表示)。 已知迷宫的入口位置为 (x1,y1)(x1​,y1​),出口位置为 (x…

ISIS-3 LSDB链路状态数据库同步

上一章我们介绍了ISIS的邻居建立关系以及ISIS的路由器角色有哪些,在不同的网络类型当中建立邻居关系有什么不同,并且以实验案例抓包的形式给大家进一步介绍了建立的过程。 这一章我们来介绍ISIS中是如何实现链路状态数据库同步的,与OSPF的链路状态同步有什么不同,在不同网络类…

Opencv计算机视觉编程攻略-第三节 图像颜色处理

第三节 图像颜色处理 1.颜色比较2.GrabCut分割图像3.色调、饱和度以及亮度 1.颜色比较 主要实现逐像素的颜色比较,其中注意BGR颜色空间不连续,不利于颜色提取和区分,转换到Lab空间: int getColorDistance(const cv::Vec3b& c…

BoomCut AI 技术创建本地化的营销视频

目录 视频翻译实验 交换实验 数字人实验 核心功能与技术亮点 适用场景 BoomCut 提供用于视频翻译、数字人等的 AI 技术,以快速创建本地化的营销视频 视频翻译实验 电影电影哪吒之魔童降世换成西班牙语

论华为 Pura X 折叠屏性能检测

在科技浪潮中,折叠屏手机以其创新形态掀起市场热潮。华为 Pura X 作为华为最新折叠手机,承载前沿科技与精湛工艺,成为行业焦点。它融合先进折叠屏技术与优质材质,致力于打破传统手机使用边界,为用户开启全新体验。但产…

【蓝桥杯每日一题】3.25

🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x “OJ超时不是终点,是算法在提醒你该优化时间复杂度了!” 目录 3.25 差分数组 一、一维差分 题目链接: 题目描述: 解题思路:…

3.25学习总结 抽象类和抽象方法+接口+内部类+API

抽象类和抽象方法: 有抽象方法,那么类肯定是抽象类。父类不一定是抽象的,但如果父类中有抽象方法那一定是抽象类。 如果子类中都存在吃这个行为,但吃的具体东西不同,那么吃这个行为定义在父类里面就是抽象方法&#x…

全面系统梳理多模态LLM对齐算法

1.alignment算法发展时间轴 2.MLMM alignment结构图 3.目前alignment策略常见的损失函数形式 4.MLLM对齐数据构造与现有数据总结

广告推荐算法 - 学习笔记

文章目录 1、前言2、学习笔记2.1、什么是计算广告系统? 1、前言 本篇博客,是我用来记录学习广告推荐算法的一些笔记和总结。 参考内容: 1、王喆:"深度"学习计算广告 2、deepseek 2、学习笔记 2.1、什么是计算广告系统…

ENSP学习day10

NAT地址转换技术(一) NAT(Network Address Translation)地址转换技术是一种在计算机网络中常用的技术,在数据包从一个网络传输到另一个网络时,会对数据包中的源IP地址和目的IP地址进行修改的过程。这种技术…

Swift 二分法求函数的近似解

在实际开发中会遇到一些工程问题,需要求解复杂函数方程的问题。使用传统的数学方法比较难以处理。本文将使用二分法不断获取一个函数的近似解。 二分法:其基本思想是利用函数在某个区间内的连续性,通过不断缩小区间范围来逼近方程的解。 算法…