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

机器学习---特征降维

一、为什么要降维?

1. 直观比喻

假设你要描述一个人:

  • 高维描述:身高、体重、发色、鞋码、星座、血型、喜欢的电影...(100个特征)

  • 降维后:"运动型"(身高+体重)、"文艺型"(喜欢的电影+书籍)(2个特征)

2. 实际意义
  • 解决维度灾难:特征太多会导致数据稀疏,模型难以学习

  • 提升效率:减少计算时间,降低存储需求

  • 可视化需求:人类只能理解2D/3D图形


二、主流降维方法

方法1:PCA(主成分分析)

核心思想:找到数据中方差最大的方向,将数据投影到这些方向上。

生活化比喻

把三维的西瓜🍉拍成二维照片,选择最能体现西瓜特征的拍摄角度。

计算步骤
  1. 中心化数据(减去均值)

  2. 计算协方差矩阵

  3. 计算特征值和特征向量

  4. 选择前k大特征值对应的特征向量

Python实现
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris# 加载数据
iris = load_iris()
X = iris.data# 降维到2维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)print("原始形状:", X.shape)
print("降维后形状:", X_pca.shape)
print("各主成分解释方差比例:", pca.explained_variance_ratio_)
输出示例
原始形状: (150, 4)
降维后形状: (150, 2)
各主成分解释方差比例: [0.924 0.053]  # 第一主成分保留了92.4%的信息
 
优缺点
  • ✅ 优点:线性方法简单有效,可解释性强

  • ❌ 缺点:只能捕捉线性关系


方法2:t-SNE(t分布随机邻域嵌入)

核心思想:保持高维空间中数据点的局部相似性。

生活化比喻

把全世界城市的地理位置画到一张纸上,保证相邻城市在纸上仍然相邻。

Python实现
from sklearn.manifold import TSNEtsne = TSNE(n_components=2, random_state=42)
X_tsne = tsne.fit_transform(X)
 
适用场景
  • 高维数据可视化(常降到2D/3D)

  • 探索数据聚类结构

注意事项
  • 计算成本高

  • 超参数敏感(困惑度perplexity)


方法3:LDA(线性判别分析)

核心思想:找到能最好区分不同类别的投影方向。

与PCA对比
PCALDA
目标最大化总体方差最大化类间方差/类内方差
有无监督无监督有监督
结果主成分与类别无关投影方向与类别相关
Python实现
from sklearn.discriminant_analysis import LinearDiscriminantAnalysislda = LinearDiscriminantAnalysis(n_components=2)
X_lda = lda.fit_transform(X, iris.target)
 

三、如何选择降维方法?


相关文章:

  • 运维Linux之Ansible详解学习(更新中)
  • Python应用运算符初解
  • Word转PDF--自动生成目录
  • 如何在uniapp H5中实现路由守卫
  • 【Vue3】(二)vue3语法详解:自定义泛型、生命周期、Hooks、路由
  • Linux C学习路线全概及知识点笔记1(仅供个人参考)
  • 【2025】基于Springboot + vue + 协同过滤算法实现的旅游推荐系统
  • 基于RK3576+FPGA+CODESYS工控板的运动控制模块方案
  • # 探索自然语言处理的奥秘:基于 Qwen 模型的文本分类与对话系统实现
  • 星际旅行家(广度优先搜索+邻接表)
  • 通俗理解线性与非线性、时变与时不变系统,和数值不稳定性机制
  • 使用Java制作贪吃蛇小游戏
  • PCB文件从 Allegro 24.1 降级保存为 Allegro 17.4版本格式
  • YOLOV8涨点技巧之DSS模块(一种轻量化火灾检测模型)
  • React声明式编程(手动控制,大型项目,深度定制)与Vue响应式系统(自动优化,中小型项目,快速开发)区别
  • 多行字符串文本?各式各样的字符串类型?字符和字符串?
  • GO 语言进阶之 时间处理和Json 处理
  • 实战设计模式之访问者模式
  • Hertz+Kitex快速上手开发
  • 揭开C语言指针的神秘面纱:地址、变量与“指向”的力量
  • wordpress 4.8.1下载/网站优化分析
  • 一个服务器可以做两个网站/沧州网站建设推广
  • 电子商务网站开发技术解决方案/谷歌收录提交入口
  • 宁波建设系统网站/免费国外ddos网站
  • 资源共享课程网站开发毕业设计/一键免费建站
  • 开题报告旅游网站开发/热搜榜排名前十