机器学习第十三讲:独热编码 → 把“红黄蓝“颜色变成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. 建颜色字典

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

    总类别数=3 3列全0矩阵

  3. 点亮对应位置

    颜色 索引 向量
    红 0 1,0,0
    黄 1 0,1,0
    蓝 2 0,0,1

最终表格:

编号 红_列 黄_列 蓝_列
001 1 0 0
002 0 1 0
003 0 0 1

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


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

python 复制代码
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 数据维度调整基础方法

相关推荐
宿州派大星19 分钟前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
风娜1 小时前
IT 疑难杂症诊疗室:从现象到根因的系统排查方法论
人工智能·github
碧海银沙音频科技研究院1 小时前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
承渊政道1 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
howdoyoudo2026062 小时前
AI审计手记 #28:从“暂停训练”到“切断联网”——AI安全控制手段的极限升级
大数据·人工智能·安全·ai·语言模型
colman wang2 小时前
人工智能课程(配套AIMA(Artificial Intelligence: A Modern Approach))
人工智能
LinXunFeng6 小时前
Draw Things 换装 LoRA 实战:用 Silo 秒装,同一提示词对比出图
人工智能·开源·aigc
xiaohaiAIgeo6 小时前
【2026年】通风柜自动门安全吗?联锁逻辑与防夹设计
人工智能·安全·科普知识
像风一样自由20206 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体