pca主成分分析算法,pca主成分分析举例
把你所学的东西组织起来,而不是一个专业的数学或者统计的学生。欢迎指正和讨论!啊!
一、原则理解
成分分析(PCA)是一种降维方法,旨在减少特征的数量,最大限度地保留数据中的有用信息。我理解为坐标轴的旋转,把原来的N维转化为K个相互垂直的维,用这些维来描述我们的数据。
由于特征(因子)n)通常小于观测值或样本(观测值/样本)的数量(m),主成分分析最终最多会有n个主成分,即砾石图中的BBS。
大家举的第一个例子肯定会告诉我一维下降,那我也举个例子。在这个过程中,我们完成了均值归一化。两个原始维度Gene1和Gene2的绿点是原始数据的分布模式。如果我们想降低维数,我们应该寻找一条覆盖尽可能多的变化的线,要么投影距离最短,要么是我们的PC1找到这条从投影点到原点的红色虚线(绿色十字)。
假设PC1线的斜率为0.25,可以说一个PC1由四个基因1和一个基因2组成。所以可以说,主成分是特征的线性组合。
在这个直角三角形中,如果斜边的长度为1,则第1部分的PC1由基因1的0.97部分和基因2的0.242部分组成(比例相同),这两个数可以称为加载分数。
上一步最大化:ssd,每个投影点到原点的距离的平方和,称为主分量的特征值,ssd/n-1称为主分量的变差。在本例中,假设PC1=15,pc2=3,则总数为15 ^ 3=18。PC1占15/18=83%,PC2占17%。这是砾石地图。
垂直于PC2和PC1的主要分量与相互垂直的分量相同,如下图所示。
如果有更多的特征,我们还会发现更多的主要组件和更多的轴,按此顺序排列。
如果“像我”需要复习矩阵的特征值和特征向量,这个视频讲的很清楚。【工程数学基础】1_特征值与特征值_ ((欢呼)-bilibiliww . bilibili
第二,用python实现PCA
1)标准化数据(矩阵X)
2)求解cov(XT)的特征值和特征向量
ew,ev=NP。EIG(NP.cov ) (x.t))))))).
python中求特征值和特征向量的函数:numpy。EIG(一))。
(ew)特征值。
Ev:特征向量。
3)为了降维到k维,按照ew从大到小的顺序取ev的前k列,得到矩阵V(维数为n*k)。新矩阵为X*v),维数为m*k),实现了n维到k维的转换。
第三,利用RSudio实现主成分分析
使用prcomp功能:
impPrComp=prcomp(数据)
Gscreeplot(impprcomp)可以将解释方差描述为砾石图。
ImpPrComp$sdev是特征值的平方根。
ImpPrComp$rotation是加载分数。((因为有13个特征在里面,所以有13个主要成分))))))))))))))))))))))))。
Gbiplot(impprcomp,alpha=.05,choices=c) 2,3))绘制第二个和第三个主分量。
原理部分:看这个视频了解【中文】主成分分析(PCA) 一步一步看!_李丽丽(((((((((())))干杯)~-www.bilibili.com哔哩哔哩
我只能理解到此为止。哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈