PCA

article/2025/10/13 19:51:38

R语言实现PCA

  • 一次来自男神MR.来的作业
    • PCA
      • 读取数据
      • PCA主体部分
      • 输出PCA的主要结果,列出主成分分析分析结果
      • 利用碎石图来展示PCA结果
      • 对component进行一些解释
    • 简略分析
      • 利用PCA结果来进行一个排序
      • 下面进行聚类分析

一次来自男神MR.来的作业

PCA

读取数据

#读取数据,数据名称为“PCA上机数据”,且对数据进行整理
setwd("/Users/auzzer_pang")
data_PCA = read.table("PCA上机数据.txt")
data = data_PCA[,1:7]
names(data) = 
c('100','200','400','800','1500','3000','Marathon')
row.names(data) = data_PCA[,8]

PCA主体部分

#由于单位不同所以先对数据标准化
cor(data)
#利用princomp函数进行主成分分析
PCA=princomp(data, cor=T)
#cor = T这个选项可以帮助我们吧矩阵变为协方差阵
summary(PCA, loadings=T) 

输出PCA的主要结果,列出主成分分析分析结果

PCA结果详细展示

利用碎石图来展示PCA结果

接下来我们利用碎石图来客观表现我们的主成分分析结果

screeplot (PCA, type="lines") 
# 画碎石图,用直线图类型
abline (v = 2 ,  col = "#900021",lwd = 2,lty = 2)
#添加划分成分的参考线

结果为
在这里插入图片描述

对component进行一些解释

一个比较粗略的分析
其中我们可以看到的是第一第二主成分的累积方差贡献率已经高达93%,绘制碎石图也验证了我们的想法。所以我们选取前两个主成分,而loadings部分则向我们揭示了这两个主成分的意义:
首先我们定义100m,200m,400m,800,1500m,3000m,Marathon项目分别为:
x1,x2,x3,x4,x5,x6,x7
则第一主成分
y1= 0.368x1+0.365x2+0.382x3+0.385x4+0.389x5+0.389x6+0.367x7
第二主成分
y2=0.49x1+0.537x2+0.247x3-0.155x4-0.36x5-0.348x6-0.369x7
结合实际情况看主成分1基本上保留了每个项目的信息,且每个信息的变化不大,可以认定为主成分1衡量了一个国家的综合实力水平,而主成分2除了100m、200m、400m项目系数为正以外,其他系数为负,结合实际情况,主成分2在强调径赛中的短跑项目,同时削弱长跑项目带来的影响。

#由上文所述的结果,我们可以选取前两个主成分,接下来我们计算前两个主成分的得分
PCA$scores[,1:2]# 计算前两个主成分得分

结果为
在这里插入图片描述续

load=loadings(PCA) #提取主成分载荷矩阵,以解释主成分的含义
plot(pr[,1:2],) #作散点图
#利用text()函数为每个点加上名称,但本题由于名称产生重叠就不添加了
abline(h=0);  abline(v=0) #划分象限

结果为
在这里插入图片描述

简略分析

接下来要用上面的结果来做一点分析,其中包括粗略的聚类分析

利用PCA结果来进行一个排序

#利用预测结果来排序以及聚类分析
pr = round(predict(PCA),3)
pr = pr[,1:2]
#按第一主成分排序
pr[order(pr[,1]),]

在这里插入图片描述
目测是因为他的图片读取有长度限制?总是给我分成两截嘤嘤嘤

下面进行聚类分析

#为了让结果更好看实用factoextra来进行聚类分析
library(factoextra)
#由于数据以及标准化,故只需直接导入
df = pr
#先求样本之间两两相似性
result = dist(df, method = "euclidean")
#产生层次结构
result_hc = hclust(d = result, method = "ward.D2")
#作图
fviz_dend(result_hc, k = 2, cex = 0.5, k_colors = c("#900021", "#002FA7"),color_labels_by_k = TRUE, rect = TRUE          
)

在这里插入图片描述


http://chatgpt.dhexx.cn/article/wZXLIXsA.shtml

相关文章

主成分分析(PCA)原理详解

转载请声明出处:http://blog.csdn.net/zhongkelee/article/details/44064401 一、PCA简介 1. 相关背景 上完陈恩红老师的《机器学习与知识发现》和季海波老师的《矩阵代数》两门课之后,颇有体会。最近在做主成分分析和奇异值分解方面的项目&#xff0c…

PCA详解

本文目录 一、来源及作用存在问题基本作用 二、 基本原理及求解步骤核心思想如何选择投影方向 三、原理分析最大投影方差最小重构代价 四、SVD与PCA的关系 一、来源及作用 存在问题 在我们训练模型的过程中,有时会出现在训练集上误差较小,但到了测试集误…

主成分分析法(PCA)

主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一个总结。 目录 …

主成分分析(PCA)方法步骤以及代码详解

主成分分析(PCA)方法步骤以及代码详解 前言 上一节我们了解到在构建神经网络模型,除了掌握如何搭建神经网络架构,了解参数具体含义,规避风险等方法。第一步是要对采用数据集的详细了解,无需接触任何神经网…

机器学习——PCA降维(我至今为止遇见的最好的博文)

参考文章:https://zhuanlan.zhihu.com/p/77151308 PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。 PCA 的数学推导可以从最大可分型和最大重构性…

通达OA工作流数据报表二次开发版

此模块除具备工作流——数据报表所有功能外,新加入的功能包括: 1:查询条件自带可查询未完成的流程; 2:查询条件可设置查询所有子流程的字段; 3:报表可显示流程当前处理人,并且点击每…

开发通达OA工作流接口从ERP自动生成OA请款单(图文)

ERP系统很多不带审批系统,即使有审批系统的话应用起来也不那么容易,因为领导一般都是不使用ERP系统的,那么我就用通达OA来完成ERP的单据审批吧,是不是很酷呢,而且还支持移动端app和微信审批。 ERP端的数据发起由ERP方…

OA工作流引擎:作为组织血脉支撑的重要性解析

前面提到协同OA管理平台是以“人和事”为管理对象,但如何把“人和事”通过一定的方法能全部贯通起来呢。就如同一个人,有手、脚、嘴、头脑等各种器官,但如何能把这些器官充分的调动起来,里面最核心的还是人的血液,OA系…

通达OA 工作流运行异常情况的紧急处理(图文)

本文整理自通达OA技术交流群(QQ群号:378591362)群友交流内容。 一位朋友的工作流设计和运行突然出现故障,显示的数据部分都不正常,如下图: 经过重启所有服务(包括缓存服务)现象依旧。…

通达OA二次开发 小飞鱼应用OA工作流二次开发智能公文系统(三)(图文)

流程流转完毕后,会自动进行归档,默认存成10年存档目录,并且可以在多个存档年限中进行调整切换。点击流程文号可以直接查看具体的流程表单及执行记录。 如果不需要对部门进行管理时,可以直接使用ajax方式快速将存档年限进行修改切换…

通达OA 工作流流转过程中使用系统自带的提醒功能设置(图文)

在流程流转过程中,可以通过增加步骤的方式来提醒相关人员。其实可以使用系统自带的提醒功能,比如需要在某一步骤提醒流程发起人,就可以在提醒设置下设置提醒发起人,有3个选项可选,其中使用手机短信需要短信猫的支持&am…

通达OA工作流不可编辑

找到表:flow_run 搜索自增长ID流水号,查看该条记录的用户是否ok 找到表:flow_run_prcs 搜索流水号:run_id*** 查看结果的PRCS_ID数字最大的那一条记录的OP_FLAG是否为1,如果不为1则改为1即可。

java oa工作流设计_简易OA漫谈之工作流设计(DB)

1、流程图。 工作流可以做得很复杂,也可以设计的很简单。看下图 看这个图,一个流程图最基础的三部分:流程,步骤,操作。 2、流程模板。 流程图的程序描述就叫流程模板。一个流程模板大概需要的一些属性如下图&#xff1…

OA审批工作流设计器实现

OA审批工作流设计器实现 wflow-web👀界面一览工作区面板表单管理表单基本设置表单设计器流程设计器 wflow-web 由 Vue ElementUI 驱动,已开源不断更新中 ,主要更新 Gitee 😋 码云gitee | github地址 👉 在线体验地…

OA工作流引擎设计(纯java开发,不需要额外任何插件引擎)

目录 1 系统概览 2 表单管理 2.1 添加表单 2.2 表单智能设置 2.2.1 单行文本 2.2.2 多行文本 2.2.3 下拉菜单,单选按钮和复选框 2.2.4 日期时间控件 2.2.5 计算控件 2.2.6 会签字段 2.2.7 员工选择框和部门选择框 2.3 表单测试 2.3.1 可选日期、时间、日…

OA 系统工作流引擎 Camunda 实践(1)

【审核人员看清楚再审核,我是把自己公司的案例分析一下, 这哪是广告???】 Camunda是Activiti最大的贡献者之一(除Alfresco以外),同时也是它一个主 要的执行咨询合作伙伴。camunda表示Activiti可能太拘束于…

小飞鱼通达二开 OA工作流打印次数统计控制程序(图文)

每个工作流工作打印了多少次了,在OA里不知道,如何能够控制呢,今天小飞鱼带给大家的就是这个工作量打印次数统计控制程序,使用起来是不是会方便很多。 可以查询打印日志明细。 打印页面上多了一个打印按钮和流水号、打印次数的信息…

通达OA工作流-表单设计

第1章 什么是工作流 1.1 工作流的用途 随着企业管理信息化进程的不断深入,协同应用软件的概念已深入人心,而工作流系统正是协同应用软件的核心。通过应用 IT 技术来规范工作流程、提高工作的执行效率和准确度、使企业运营更加高效、规范、稳健&…

通达OA 工作流执行出现的异常现象处理(图文)

一个朋友用的工作流,突然说这里面多了很多人不应该看到这个流程的,就是在查询工作时,最上面多了一个“查阅信息”项,然后最下面多了很多人查询的记录。这个项目是从哪里来的呢?普通的流程倒也无所谓了,而有…

小飞鱼通达二开 通达OA工作流表单标题下拉列表字体样式设置(图文)

今天的一个流程表单里使用了下拉列表框,如下图: 在设计视图和预览时都没有问题,只是在流程查询时显示的不正常。表单上的样式对于变成文字后的数据不再起作用。 小飞鱼经过研究,发现原来是系统在数据浏览页面时加载了其他的样式文…