当前位置:网站首页>主成分分析计算步骤
主成分分析计算步骤
2022-07-24 05:20:00 【一枚小可爱c】
最近看了很多关于主成分分析的视频和博客,大多在讲推导过程,有些晦涩难懂,而且不会应用。所以就决定干脆先看看怎么应用并计算的吧
此处采用主成分分析进行特征选择,其中用到的数据来自王宏志老师编著的《大数据分析原理与实践》一书。
主成分分析多数用在那些特征和类标签是相关的,但这些特征里面存在噪声和冗余。使用PCA可以减少特征数,减少噪声和冗余,减少过度拟合的可能性。
什么是主成分分析
主成分分析采用数据降维的方法,找出几个综合变量来代替原来的变量,并且要尽可能的代表原来变量的信息,这些综合变量要互不相关。
主成分分析的思想
将n维特征映射到k维上(k<n),这k维是全新的正交特征。得到的k维特征称为主元。注意:这k维特征是重新构造出来的,不是简单地从n维特征中去除其余的n-k维特征。
用主成分分析进行降维
这里用到一组数据(此处的x和y可以看作两个特征)
| x | y |
18.8 | 5.3 |
| 65.8 | 4.7 |
| 3.6 | 2.0 |
| 14.5 | 5.1 |
| 52.5 | 4.8 |
| 41.2 | 8.8 |
| 77.9 | 6.8 |
| 11.7 | 3.4 |
| 2.0 | 27.5 |
第一步,分别求x和y的平均值,然后对所有的样例都减去对应的平均值,这里
,每个样例减去均值后得到
| x | y |
| -13.2 | -2.3 |
| -33.8 | -2.9 |
| -28.4 | -5.6 |
| 17.5 | -2.5 |
| 20.5 | -2.8 |
| 9.2 | 1.2 |
| 45.9 | -0.8 |
| -20.3 | -4.2 |
| -30 | 19.9 |
第二步,求特征协方差矩阵,如果数据是3维的,那么协方差矩阵是

此例中只有x和y,故协方差矩阵是个二维矩阵
求得
第三步,求协方差的特征值和特征向量
特征值
特征向量
其中52.9003和783.6058是两个特征值。特征值52.9003对应的特征向量是
。特征值783.6058对应的特征向量是
。 这里的特征向量都归一化为单位向量
第四步,将特征值按照从小到大的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成的特征向量矩阵
此例中只有两个特征值,因此,我们只选取一个特征值,即783.6058,对应的特征向量是
第五步,将样本点投影到选取的特征向量上(最后一步的矩阵乘法就是将原始样本点分别往特征向量对应的轴上做投影)。
假设样例树为m,特征数为n,减去均值后的样本矩阵为DataAAdjust(m*n),协方差矩阵是m*n,选取k个特征向量组成的矩阵为EigenVectors(n*k),那么 投影后的数据FinalData为FinalData(m*k)=DataAdjust(m*n)x EigenVectors(n*k)
此例中FinalData(10*1)=DataAdjust(10*2)x EigenVectors(2*1)
得到的结果是
| x |
| 11.0627 |
| -36.2729 |
| 23.2126 |
| -19.6830 |
| -22.9410 |
| -8.0747 |
| -46.4212 |
| 16.4139 |
| 47.8576 |
这样,我们就将原始数据的特征由2维降到了1维,这1维就是原始特征在1维上的投影。该1维特征基本上就代表了原来的2维特征
边栏推荐
- 《统计学习方法(第2版)》李航 第十三章 无监督学习概论 思维导图笔记
- Detailed discussion on data synchronization tools ETL, ELT, reverse ETL
- 达梦数据库_逻辑架构基础
- Imitate Baidu API of Baidu map page of a website
- 程序员常说的API是什么意思?API类型有什么呢?
- 推荐一款完全开源,功能丰富,界面精美的商城系统
- [activiti] activiti system table description
- 《统计学习方法(第2版)》李航 第17章 潜在语义分析 LSA LSI 思维导图笔记 及 课后习题答案(步骤详细)第十七章
- Multi merchant mall system function disassembly Lecture 14 - platform side member level
- Multi merchant mall system function disassembly Lecture 11 - platform side commodity column
猜你喜欢

Connect CRM system and effect advertising, help enterprises with precision marketing, and help enterprises with precision marketing

【activiti】activiti环境配置

Zotero快速上手指南

程序员常说的API是什么意思?API类型有什么呢?

Logical structure of Oracle Database

达梦数据库_LENGTH_IN_CHAR和CHARSET的影响情况

Flink watermark mechanism
![[activiti] activiti introduction](/img/17/bd8f6fd8dd8918a984ca0a3793ec0b.jpg)
[activiti] activiti introduction

《信号与系统》(吴京)部分课后习题答案与解析

黑龙江省SVG格式地图的创建及生成
随机推荐
What do programmers often mean by API? What are the API types?
Use of wechat applet map
[activiti] activiti environment configuration
自己的一点点小想法——使用MATLAB实现类似环形缓冲器的读取
【activiti】网关
Too many database connections
达梦数据库_dmfldr工具使用说明
Numpy cheatsheet
MySQL batch insert demo
Highcharts use custom vector maps
Multi merchant mall system function disassembly lecture 06 - platform side merchant settlement agreement
SSM项目配置中问题,各种依赖等(个人使用)
‘Results do not correspond to current coco set‘
黑龙江省SVG格式地图的创建及生成
Inventory of well-known source code mall systems at home and abroad
likeshop | 单商户商城系统代码开源无加密-PHP
达梦数据库_逻辑备份
Mysqldump export Chinese garbled code
The way to attack the first poca hackson project "Manta network"
Could not load library cudnn_cnn_infer64_8.dll. Error code 126Please make sure cudnn_cnn_infer64_8.