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

从0开始学习R语言--Day11--主成分分析

主成分分析(PCA)

PCA是一种降维技术,它把一堆相关的变量(比如身高、体重、年龄)转换成少数几个不相关的新变量(叫“主成分”),这些新变量能最大程度保留原始数据的信息。

核心理念
  1. 降维:假设我们有10个指标,PCA可以帮我们压缩成2~3个关键指标,方便进一步可视化或分析。

  2. 去相关性:新生成的主成分之间互不相关,避免重复信息。

  3. 保留最大方差:第一个主成分(PC1)方向是数据变化最大的方向,第二个(PC2)是剩余变化最大的方向,依此类推。

其中,数据变化最大的方向意思是,PC1能解释原始数据中最大比例的差异(方差)。

一般来说,我们会通过PCA实现可视化高维数据(把4维数据压缩成2维图),去除噪声和冗余变量(删除重复的测量指标)和简化机器学习模型(减少特征数量,加快计算速度)。

下面我们照例生成一组数据来理解PCA:

set.seed(123)
height <- rnorm(100, mean = 170, sd = 10)                     # 身高
weight <- height * 0.6 + rnorm(100, mean = 0, sd = 5)         # 体重 = 0.6*身高 + 噪声
age <- rnorm(100, mean = 30, sd = 5)                          # 年龄
data <- data.frame(height, weight, age)                       # 执行PCA(默认中心化和标准化)
pca_result <- prcomp(data, scale = TRUE)  # 查看主成分
summary(pca_result)  # 显示各主成分的方差贡献率plot(pca_result, type = "l", main = "PCA方差贡献率")# 绘制前两个主成分的散点图
library(ggplot2)
pca_data <- as.data.frame(pca_result$x)
ggplot(pca_data, aes(PC1, PC2)) + geom_point() + labs(title = "PCA降维结果(PC1 vs PC2)")

输出:

Importance of components:PC1    PC2     PC3
Standard deviation     1.3280 0.9867 0.51287
Proportion of Variance 0.5878 0.3245 0.08768
Cumulative Proportion  0.5878 0.9123 1.00000

首先,Standard deviation中的PC1的数值最大,代表其携带信息最多,从这个身高的例子来讲,就是PC1的数据(可能是体型大小)其实就反映了身高与体重之间的变化,要注意PCA所生成的变量,不再是原始数据集的变量,他只是蕴含了其中的信息;从Proportion of Variance可以看出PC1和PC2就共同解释了模型中90%左右的信息,这就代表可以尝试舍去PC3去建模了,也就把数据从三维降为了二维,从而能画出二维图。

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

相关文章:

  • opencv(C++) 变换图像与形态学操作
  • NFS 挂载配置与优化最佳实践指南
  • openpi π₀ 项目部署运行逻辑(四)——机器人主控程序 main.py — aloha_real
  • 探索C++标准模板库(STL):从容器到底层奥秘-全面解析String类高效技巧(上篇)
  • [Vue] ref及其底层原理
  • UE5 Mat HLSL - Load
  • LeetCodeHot100_0x09
  • 纯C++ 与欧姆龙PLC使用 FINS TCP通讯源码
  • NSSCTF-[闽盾杯 2021]DNS协议分析
  • 为什么单张表索引数量建议控制在 6 个以内
  • InvokeAI 笔记, 简单了解一下 (生成图片,text2img )
  • MQTT over SSL/TLS:工业网关如何构建端到端加密的数据传输通道
  • MySQL 只知道表名不知道具体库?如何查询?information_schema入手
  • ssh 测试 是否可以连通docker 容器
  • Excel常用公式全解析(1):从基础计算到高级应用
  • 如何理解UDP 和 TCP 区别 应用场景
  • 笔记: 在WPF中ContentElement 和 UIElement 的主要区别
  • 2025年土建施工员备考考试真题及答案
  • 数据库MySQL学习——day13(索引与查询优化)
  • gcc clang
  • FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密
  • 安全监测预警系统的核心价值
  • Jmeter一些元件使用的详细记录
  • VR 赋能病毒分离鉴定:开启微观探索新视界
  • 微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)
  • 数据分析实战1(Excel制作报表)
  • 【NLP基础知识系列课程-Tokenizer的前世今生第五课】从静态到可学:Tokenizer 的自适应演化之路
  • LVS负载均衡群集
  • 语音识别算法的性能要求一般是多少
  • Day128 | 灵神 | 二叉树 | 反转二叉树的奇数层