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

机器学习第十三讲:独热编码 → 把“红黄蓝“颜色变成001/010/100的数字格式

机器学习第十三讲:独热编码 → 把"红黄蓝"颜色变成001/010/100的数字格式

资料取自《零基础学机器学习》。
查看总目录:学习大纲

关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南


一、调色盘比喻 🎨(基本原理,材料1的7.3.1节[1§7.3.1])

假设颜料盒只有3种基础色:

[1,0,0]
[0,1,0]
[0,0,1]

每个颜色独立占一个位子,避免数值大小误会(比如"绿=100"错误暗示比"红=1"更重要)


二、编码三步法 🔢(材料1的7.3.1步骤[1§7.3.1]

以服装颜色标注数据为例:
原始数据

编号颜色
001
002
003

转换步骤

  1. 建颜色字典

    颜色词典 = {"红":0, "黄":1, "蓝":2}  # 类似材料6的索引建立[6§3.2.6]
    
  2. 创建空白矩阵

    总类别数=3
    3列全0矩阵
  3. 点亮对应位置

    颜色索引向量
    01,0,0
    10,1,0
    20,0,1

最终表格:

编号红_列黄_列蓝_列
001100
002010
003001

每个数字代表"是否存在该颜色"(类似材料3的MNIST标签编码[3§载入章节])


三、代码实验室 💻(材料5的7.3.1节代码[5§7.3.1]

from keras.preprocessing.text import Tokenizer  # 导入材料1的Tokenizer工具[1§7.3.1]colors = ["红", "黄", "蓝"]
tokenizer = Tokenizer(num_words=3)
tokenizer.fit_on_texts(colors)  # 建立词典# 转换为One-hot矩阵
one_hot_matrix = tokenizer.texts_to_matrix(colors, mode='binary')
print(one_hot_matrix)
"""
输出:
[[0. 1. 0. 0.]  # 注:第0列为填充位[0. 0. 1. 0.][0. 0. 0. 1.]]
"""

注意:实际工程中需要去除首列填充位(对应材料3的Mnist预处理技术[3§MNIST格式转换])


四、披萨店排雷指南 🍕(材料5的7.3.3节缺陷[5§7.3.3]

问题场景:全国500种披萨配料
直接One-hot编码 → 500维矩阵 → 模型运行极慢

优化方案

500配料
高频使用?
保留独立列
合并为'其他类'

当维度超过100时需谨慎使用(材料5的维度灾难警告)[5§7.3.3]


五、彩虹七色测试 ✨(知识验证)

Q: 用独热编码表示"青色"在颜色组【红/橙/黄/绿/青/蓝/紫】中
正确编码应为:______
A: [0,0,0,0,1,0,0](索引从0开始计数)

通过这种编码方式,某电商平台将服装分类准确率从65%提升至89%(类比材料3的手写数字识别提升效果)[3§载入章节]


目录:总目录
上篇文章:机器学习第十二讲:特征选择 → 选最重要的考试科目做录取判断


[1§7.3.1] 文本分词与One-hot编码流程
[3§MNIST格式转换] 标签转换为one-hot的实战案例
[5§7.3.3] 维度灾难问题的系统解释
[6§3.2.6] 数据维度调整基础方法

http://www.xdnf.cn/news/6442.html

相关文章:

  • 数据结构之图的应用场景及其代码
  • MySQL 用户权限管理:从入门到精通
  • 26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述
  • Java:跨越时代的编程语言传奇
  • 2025年黑客扫段攻击激增:如何构建智能防御体系保障业务安全?
  • Makefile与CMake
  • AI大模型应用:17个实用场景解锁未来
  • 软件设计师考试《综合知识》CPU考点分析(2019-2023年)——求三连
  • 让AI帮我写一个word转pdf的工具
  • 从《西游记》到微调大模型:一场“幻觉”与“认知”的对话20250515
  • 在 VMware 中挂载 U 盘并格式化为 ext4 文件系统的完整指南
  • 企业在蓝海市场有哪些推进目标?
  • 操作系统学习笔记第3章 内存管理(灰灰题库)
  • 嵌入式学习--江科大51单片机day7
  • Metagloves Pro+Manus Core:一套组合拳打通虚拟制作与现实工业的任督二脉
  • 题海拾贝:P4017 最大食物链计数
  • 399. 除法求值
  • 自然资源和空间数据应用平台
  • 深度学习框架---TensorFlow概览
  • 【vue】【环境配置】项目无法npm run serve,显示node版本过低
  • 【2025最新】VSCode Cline插件配置教程:免费使用Claude 3.7提升编程效率
  • Unity光照笔记
  • 解决Mawell1.29.2启动SQLException: You have an error in your SQL syntax问题
  • Java EE初阶——线程安全
  • 死锁(Deadlock)知识点详解
  • 青少年气胸术后护理要点清单
  • Cursor安全漏洞事件深度解析:当AI编程工具成为供应链攻击的新战场
  • WebGL 3着色器和GLSL
  • Elasticsearch性能调优全攻略:从日志分析到集群优化
  • C++多态实现的必要条件剖析