×

pca降维

数组用PCA降维之后,维数是固定的,能自己设定的吗?PCA主成分分析图像数据降维代码求教

admin admin 发表于2023-03-21 13:35:32 浏览59 评论0

抢沙发发表评论

本文目录

数组用PCA降维之后,维数是固定的,能自己设定的吗


PCA在给定输入后就无法干预运算过程直至结果输出的方法,输出维数是按照分离出的特征值占总特征值的比例计算的,比如你设置要求精度0.65,PCA就会选取出特征值占总特征值0.65以上的相互正交的特征值,它们对应的特征向量的个数就是得到的输出维数

PCA主成分分析图像数据降维代码求教


获取n行m列原始数据,写成n*m的矩阵形式;
数据中心化。即把每个属性的均值处理设为0(下面木羊将给出自己编写的源代码,木羊的数据用列代表属性,在该步骤中,就把每列的均值都设置为0)。
根据中心化后的矩阵求协方差矩阵。协方差有三种值,0表示属性之间相互独立,没有影响;正值表示属性是正相关的关系,若属性A和属性B是正相关关系,则A增加B也增加,A减小B也减小;负值表示属性是负相关的关系,若属性C和属性D是负相关关系,则C增加D减小,C减小D增加。所以,协方差矩阵也可以理解为相关系数矩阵,表示属性间的相关程度。
根据协方差矩阵求特征值矩阵。特征值矩阵只有对角线上的元素有值,上三角和下三角元素都为0.
根据特征值矩阵求对应的特征向量。
对特征值矩阵进行排序,并设定一个阈值,若前i个特征矩阵的和》=设定的阈值,则就有i个主成分,取其对应的特征向量,定为主成分向量矩阵。
原始矩阵乘以转置后的主成分向量即得降维后的矩阵。比如,原始数据是150*4的矩阵,在步骤6中取得了2个主成分,那么主成分矩阵就是2*4的矩阵。150*4的矩阵乘以4*2的矩阵,即得150*2的矩阵,体现了降维效果。(选取这个属性较少的数据集是为了方便初学者的理解,在实际工程中,我们的属性值往往不止4个,但降维方法都一样的。)

如何用python实现pca降维


首先2个包:

import numpy as np
from sklearn.decomposition import PCA

然后一个m x n 的矩阵,n为维度,这里设为x。

n_components = 12 是自己可以设的。

pca = PCA(n_components=12)
pca.fit(x)
PCA(copy=True, iterated_power=’auto’, n_components=12, random_state=None,
  svd_solver=’auto’, tol=0.0, whiten=False)
float_formatter = lambda x: “%.2f“ % x
np.set_printoptions(formatter={’float_kind’:float_formatter})
print ’explained variance ratio:’
print pca.explained_variance_ratio_
print ’cumulative sum:’
print pca.explained_variance_ratio_.cumsum()

数据降维特征值为负需要舍去数据嘛


经过这几天面试后,我发现数据降维这一块在工业界用的很多或者说必不可少,因此,这方面需要重点关注。今天,我将数据降维总结于此,包括他人成果,这里对他们的内容表示感谢。
Method
对数据降维作用有多个角度的理解。吴恩达在他的视频中说,降维是用于数据压缩,降低噪声,防止运行太慢内存太小;当降到2或3维可以可视化操作,便于数据分析;不要将降维用于防止过拟合,容易去掉和标签有关的重要特征。但是数据为何需要压缩,除了占用内存以外还有没有别的原因——“维度灾难”问题:维度越高,你的数据在每个特征维度上的分布就越稀疏,这对机器学习算法基本都是灾难性的。最后导致的可能是每个样本都有自己的特征,无法形成区别是正例还是负例的统一特征。还有另外一个情况当特征多于样本量时,一些分类算法(SVM)是失效的,这与分类算法原理有关。
数据降维方法:

线性降维方法:
主成分分析(PCA)和判别分析方法(LDA)
关于PCA的理解:
1、PCA可以理解为高维数据投影到低维,并使得投影误差最小。是一种无监督将为方法。
2、还可以理解为对坐标旋转和平移(对应着坐标变换和去中心化),从而使得n维空间能在n-1维分析,同时去掉方差小的特征(方差小,不确定度小,信息量小)
3、PCA的推导
4、PCA与SVD的联系
(从矩阵分解角度理解PCA)
5、PCA降维的应用
6、PCA 的缺点:
(1)pca是线性降维方法,有时候数据之间的非线性关系是很重要的,这时候我们用pca会得到很差的结果。所有接下来我们引入核方法的pca。
(2)主成分分析法只在样本点服从高斯分布的时候比较有效。
(3) 存在不平衡数据的降维可以采用代价敏感PCA(CSPCA)
(4)特征根的大小决定了我们感兴趣信息的多少。即小特征根往往代表了噪声,但实际上,向小一点的特征根方向投影也有可能包括我们感兴趣的数据;
(5)特征向量的方向是互相正交(orthogonal)的,这种正交性使得PCA容易受到Outlier的影响
(6)难于解释结果。例如在建立线性回归模型(Linear Regression Model)分析因变量

pca主成分分析是什么


pca主成分分析是一种降维技术,它可用于降低n维数据集的维数,同时保留尽可能多的信息。其中,主成分是我们上面讨论过的“新”独立特征。目标是尽可能多地保留“新”特征,同时删除最不重要的特征。

主成分分析的运作:

获取数据集,计算数据的协方差矩阵,计算特征值和特征向量除以协方差矩阵,选择主成分,从选定的组件构造新的特征数据集。

iris数据集是本文中的目标数据集。数据有4个特征或变量; 或矩阵代数中的4维。并且,1个目标向量显示依赖于4个特征的花的类型。所以,问题在于四维。4D并不多,但会尝试将其缩小为2D以说明PCA。


大数据工程师必修课:PCA降维


【导读】作为一名合格的大数据分析师,我们有必要知道了解且学会机器学习中的PCA降维,这也是数据挖掘的一个环节,机器学习这门技术是多种技术的结合。而在这个结合体中,如何进行数据分析处理是最核心的内容。通常在机器学习中,我们指的数据分析是,从一大堆数据中,筛选出一些有意义的数据,推断出一个潜在的可能结论。得出这个不知道正确与否的结论,下面让我们一起来了解一下大数据工程师必修课之PCA降维吧!

其经过的步骤通常是:

1、预处理:把数据处理成一些有意义的特征,这一步的目的主要是为了降维。

2、建模:这部分主要是建立模型(通常是曲线的拟合),为分类器搭建一个可能的边界。

3、分类器处理:根据模型把数据分类,并进行数据结论的预测。

本文讲的主要是数据的预处理(降维),而这里采用的方式是PCA。

PCA的个人理论分析:

假设有一个学生信息管理系统,里面需要存储人性别的字段,我们在数据库里可以有M、F两个字段,用1、0分别代表是、否。当是男学生的时候其中M列为1,F列为0,为女生时M列为0,F列为1。我们发现,对任意一条记录,当M为1,F必然为0,反之也是如此。因此实际过程,我们把M列或F列去掉也不会丢失任何信息,因为我们可以反推出结论。这种情况下的M、F列的关联比是最高的,是100%。

再举另外一个例子,小明开了家店铺,他每天在统计其店铺的访问量V和成交量D。可以发现,往往V多的时候,D通常也多。D少的时候,V通常也很少。可以猜到V和D是有种必然的联系,但又没有绝对的联系。此时小明如果想根据V、D来衡量这一天的价值,往往可以根据一些历史数据来计算出V、D的关联比。拍脑门说一个,如果关联比大于80%,那么可以取VD其中任意一个即可衡量当天价值。这样就达到了降维的效果。

当然降维并非只能在比如说2维数据V,D中选取其中的1维V作为特征值,它有可能是在V+D的情况下,使得对V, D的关联比最大。

但是PCA思想就是如此。简单点说:假设有x1、x2、x3…xn维数据,我们想把数据降到m维,我们可以根据这n维的历史数据,算出一个与x1…xn相关m维数据,使得这个m维数据对历史数据的关联比达到最大。

以上就是小编今天给大家整理发送的关于“大数据工程师必修课:PCA降维”的相关内容,希望对大家有所帮助。想了解更多关于人工智能就业岗位分析,关注小编持续更新。