【R语言】PCA主成分分析

devtools/2025/3/4 0:28:02/

使用R语言手动实现PCA主成分分析计算,通过计算协方差矩阵计算出数据的主成分得分,根据的分最高的特征进行得分图的绘制

# 读取数据raw_data <- read.csv("R可视化/data.csv", header = TRUE, fileEncoding = "GBK")new_data <- raw_data[, -1]# 标准化数据standardized_data <- scale(new_data)# 计算协方差矩阵cov_matrix <- cov(standardized_data)# 计算特征值和特征向量eigen_result <- eigen(cov_matrix)eigenvalues <- eigen_result$valueseigenvectors <- eigen_result$vectors# 选择前两个主成分的特征向量principal_components <- eigenvectors[, 1:2]# 计算主成分得分scores <- as.matrix(standardized_data) %*% principal_components# 绘制得分图plot(scores[, 1], scores[, 2],xlab = 'Comp.1', ylab = 'Comp.2', main = '主成分得分图')abline(h = 0, lty = 3)abline(v = 0, lty = 3)# 在每个点上添加标签text(scores[, 1], scores[, 2], labels = raw_data[, 1], pos = NULL)# 输出主成分得分comp_score <- data.frame(scores)rownames(comp_score) <- rownames(raw_data)print("主成分得分:")print(head(comp_score))

运行结果


http://www.ppmy.cn/devtools/164320.html

相关文章

Yolo11实战:基于YOLOv11的半自动化数据标注技术实践

摘要 在人工智能项目开发中,数据标注的耗时性与高成本已成为制约模型迭代效率的核心瓶颈。本文以YOLOv11的COCO预训练模型为技术基础,系统阐述半自动化标注流程的设计与实现,旨在通过**“模型推理-人工校验-迭代优化”**的闭环机制,显著提升标注效率与数据质量。 一、技术…

Spring Boot 与 MyBatis 数据库操作

一、核心原理 Spring Boot 的自动配置 通过 mybatis-spring-boot-starter 自动配置 DataSource&#xff08;连接池&#xff09;、SqlSessionFactory 和 SqlSessionTemplate。 扫描 Mapper 接口或指定包路径&#xff0c;生成动态代理实现类。 MyBatis 的核心组件 SqlSessionF…

3.【基于深度学习YOLOV11的车辆类型检测系统】

文章目录 研究背景主要工作内容一、系统核心功能介绍及效果演示演示&#xff1a;软件主要功能&#xff1a;检测界面各大板块说明&#xff1a;检测区域&#xff1a;结果显示&#xff1a;主要功能说明:&#xff08;1&#xff09;图片检测说明&#xff08;2&#xff09;图片批量检…

变电站蓄电池在线监测系统(论文+源码)

1系统方案设计 本次课题为变电站蓄电池在线监测系统的设计&#xff0c;其系统架构如图3.1所示&#xff0c;包括了主控制器STC89C52单片机&#xff0c;液晶显示器LCD1602,模数转换器ADC0832&#xff0c;电流传感器ACS712&#xff0c;分压电阻&#xff0c;蜂鸣器以及温度传感器。…

一周掌握Flutter开发--5、网络请求

文章目录 5. 网络请求核心库5.1 http5.2 dio 必须掌握5.3 GET/POST 请求5.4 JSON 序列化与反序列化&#xff08;json_serializable&#xff09;5.5 错误处理与加载状态管理 总结 5. 网络请求 网络请求是移动应用开发中不可或缺的一部分&#xff0c;Flutter 提供了多种方式来实…

智能AI替代专家系统(ES)、决策支持系统(DSS)?

文章目录 前言一、专家系统&#xff08;ES&#xff09;是什么&#xff1f;二、决策支持系统&#xff08;DSS&#xff09;是什么&#xff1f;1.决策支持系统定义2.决策系统的功能与特点3.决策支持系统的组成 三、专家系统&#xff08;ES&#xff09;与决策支持系统&#xff08;D…

Java—初始多线程

多线程的理解 进程&#xff1a; 进程是程序的基本执行实体 每一个运行的软件都是一个进程 线程&#xff1a; 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 简单理解&#xff1a;应用软件中互相独立&#xff0c;可以…

SQL 基础 BETWEEN 的常见用法

在SQL中&#xff0c;BETWEEN是一个操作符&#xff0c;用于选取介于两个值之间的数据。 它包含这两个边界值。BETWEEN操作符常用于WHERE子句中&#xff0c;以便选取某个范围内的值。 以下是BETWEEN的一些常见用法&#xff1a; 选取介于两个值之间的值&#xff1a; 使用 BETWE…