机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征

机器学习第十七讲:PCA → 把100维数据压缩成3D视图仍保持主要特征

资料取自《零基础学机器学习》

查看总目录:学习大纲

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


主成分分析(PCA)是一种数据降维魔法师,能够在保留关键信息的前提下,把复杂数据"折叠"成更简单形式。就像用3句话总结一本小说核心情节[^5-4]。下面通过超市顾客数据案例讲解:

一、核心思想(如同快递装箱)

假设要运输100件形状各异的货物(即100维特征),但只能用3个标箱打包:
杂乱货物 找出承载量最大的箱子 按重要性装箱

  1. 找主运输箱:选取能装最多货物的箱子(主成分1)
  2. 补充空隙:选与第一箱垂直的第二箱装剩余重要货物(主成分2)
  3. 反复叠加:直到装满3个箱子(主成分3),丢弃不重要的零碎物品[^5-4]

类比说明:就像用"年收入+消费频率+健康指数"3个维度,就能代表原始30个消费行为特征的核心信息

二、实战步骤(用超市数据演示)

案例背景:超市有200个顾客的100维消费数据,包括:

  • 生鲜购买频率
  • 电子产品消费额
  • 促销敏感度
  • ...(共100项指标)[^5-4]

原始100维数据 标准化处理 计算协方差矩阵 找出方差最大的方向 提取前3个主成分

  1. 特征标准化:消除量纲差异,让"购买次数"和"消费金额"可比(如同统一用公分和公斤替代市尺和市斤)[^4-1]

  2. 寻找主方向

    • 第一主成分:解释最大方差的方向(如综合消费能力轴)
    • 第二主成分:解释剩余方差且与第一正交(如消费偏好方向)
    • 第三主成分:继续捕捉剩余重要信息(如促销敏感度)[^5-4]
  3. 数据投影

    原始100维数据投影到3个主轴上,得到:

    python 复制代码
    # 转换后的数据示例
    顾客A: [2.5, -0.8, 1.2]
    顾客B: [-1.3, 0.7, 0.3]

    数字代表在三个主方向上的强度值

三、神奇效果(三维可视化)

压缩后的3D散点图能清晰展示客户分群:
X轴 综合消费能力 Y轴 品质偏好度 Z轴 价格敏感度

  • 簇1(右上角):高消费+爱品质+不差钱 → 重点维护客户
  • 簇2(中部):中等消费+促销敏感 → 精准营销目标
  • 簇3(左下方):低频消费+低单价 → 潜在流失客户[^5-4]

生活场景:就像用身高/体重/体脂率3个指标代替50项体检数据,医生仍能判断健康状况[^5-4]

四、应用场景与注意事项

优势场景

  • 高维数据可视化(如基因数据)
  • 去除冗余特征(如相片去噪)
  • 加速模型训练(减少计算量)[^5-4]

使用注意

  • 主成分无实际含义(类似加密坐标)
  • 会丢失部分细节信息
  • 需要先标准化处理[^4-1]

目录:总目录

上篇文章:机器学习第十六讲:K-means → 自动把超市顾客分成不同消费群体

下篇文章:机器学习第十八讲:混淆矩阵 → 诊断模型在医疗检查中的误诊情况


\^4-1\][《零基础学机器学习》](https://u.jd.com/g6ohKvi)第四章第二节特征标准化 \[\^5-4\][《零基础学机器学习》](https://u.jd.com/g6ohKvi)第五章第六节降维技术

相关推荐
GeeJoe4 分钟前
凡人炼丹传之 · 我让 AI 帮我训练了一个 AI
人工智能·机器学习·llm
小和尚同志18 分钟前
Dify29. 为你的 Dify API 穿层衣服吧
人工智能·aigc
不会学习的小白O^O22 分钟前
神经网络----卷积层(Conv2D)
人工智能·深度学习·神经网络
bastgia25 分钟前
Transformer终结者?Google DeepMind新架构实现2倍推理速度和一半内存占用
人工智能·llm
努力一点94830 分钟前
ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
linux·运维·服务器·人工智能·gpu算力
蹦蹦跳跳真可爱5891 小时前
Python----MCP(MCP 简介、uv工具、创建MCP流程、MCP客户端接入Qwen、MCP客户端接入vLLM)
开发语言·人工智能·python·语言模型
SKYDROID云卓小助手1 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理
火山引擎开发者社区1 小时前
TRAE cue 体验提升之 Latency 篇
人工智能·trae
小瑞瑞acd1 小时前
层次聚类:无需“猜”K值,如何让数据自己画出“家族图谱”?
机器学习·支持向量机·聚类