canoco5主成分分析步骤_PCA 主成分分析

前一篇提到的人脸识别中,我们在使用SVM支持向量机做人脸分类之前使用到PCA提取人脸数据中的主要成分,降低计算的维度,那么具体PCA是如何提取的呢?下文了解一下。

PCA is a method to project data in a higher dimensional space into lower dimensional space by maximizing the variance of each dimension --wiki

PCA is mostly used as a tool in exploratory data analysis and for making predictive models. It is often used to visualize genetic distance and relatedness between populations. PCA is either done by singular value decomposition of a design matrix or by doing the following 2 steps:

1. calculating the data covariance( or correlation) matrix of the original data

2. performing eigenvalue decomposition(特征值分解) on the covariance matrix(协方差矩阵).

--wiki

主成分分析,是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。对于这些成分,有些就显得没有那么必要。那么我们可以从这些成分中挑取比较有用的,而对于我们模型的训练作用不大的可以去除掉。这个过程其实也是一个降维的过程,对高维度的数据集进行降维,减少一些信息含量,保留主要的那些维度。主要的那些维度是指在这些维度上具有更大的差异,而对于那些差异化不大的特征,有时候反而会影响我们的模型学习,而成为一种噪音,也会影响我们training时候的速度。所以在机器学习的过程中,去掉那些无关紧要的变量会使得我们的学习模型效率提高。

因此我们要找到那些差异化比较大的特征,也就是说在表示它的特征的这一系列数中,它的variance(方差:是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量)是比较大的,比较离散的,而对于那些不明显的特征,用数据来衡量他们的这种特征程度的话,他们更容易聚集在一起,而不那么离散,也就是variance的值很小。下面使用代码画图来形象地了解一下。

%matplotlib inline import numpy as npimport matplotlib.pyplot as pltimport seaborn as sns; sns.set()
rng=np.random.RandomState(1)X=np.dot(rng.rand(2,2),rng.rand(2,200)).Tplt.scatter(X[:,0],X[:,1])plt.axis('equal')

先画出散点图,观察一下我们的samples:

bde36af9322612e4271199fbd7e9a568.png

Numpy.dot(a,b,out=None): do product of two arrays.

就是两个矩阵的乘积,A矩阵的第一行乘以B矩阵的第一列所得的元素的和作为新矩阵C的第一列中第一行的数,A矩阵第二行乘以B矩阵第一列所得元素的和作为C矩阵的第一列中第二行的数,以此类推。

Numpy.random.RandomState.rand(2,200) random values in a given shape, 产生一个2x200的矩阵。矩阵中的每一个element(元)都是随机产生的介于0到1之间的一个数。

X=np.dot(rng.rand(2,2),rng.rand(2,200)).T

这个代码的意思是先随机产生两个点,然后再用这两个点进行一个列变换(左乘行变换,右乘列变换)产生与左边矩阵具有相同行,与右乘的矩阵右相同列的shape为2x200的新矩阵,可以知道这个新的矩阵中的每个点的x或y坐标都不会大于2(1x1+1x1=2)。尾部的.T进行了矩阵的转置,使得矩阵从2x200的shape变成200x2。

使用PCA来解出上图中散点的主成分,图中每个点需要两个参数(x,y坐标)才能表达准确,那么对于该图上的点来说,number of components=2,有两个成分。

from sklearn.decomposition import PCApca=PCA(n_components=2)pca.fit(X)

看起来只有三行代码,但是相关的计算几乎全在里面了。

Sklearn.decomposition.PCA(n_components=None, *, copy=True, whiten=False, svd_solver='a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Canoco for Windows 是新一代的 CANOCO 软件,是生态学应用软件中用于约束与非约 束排序的最流行工具。Canoco for Windows 整合了排序以及回归和排列方法学,以便得到健 全的生态数据统计模型。Canoco for Windows 包括线性和曲线单峰方法。使用 Canoco for Windows 进行排序,能够洞察: ● 生物群落结构 ● 植物与动物群落以及它们的环境之间的联系 ● 一个对环境和(或)其生物群落的假设冲击所能造成的影响 ● 在生物群落上进行的复杂生态学和生态毒理学实验的相关处理所能造成的影响 一个排序被计算出来后,排序图可以立即显示在显示器上。Canoco 具体独特的能力,可 以说明用协变量表示的背景变异,而用它的扩展工具来进行排列测试,包括测试的互动效果。 这些独特的特性使得 Canoco for Windows 能特别有效的解决应用研究方面的问题。 二 软件模块 The Canoco for Windows 软件包主要包含以下几个模块: ● Canoco for Windows:软件包的核心,用来指定要分析的数据和排序模型,排序方法 以及分析结果的查看等基本操作命令均被集中在该模块的对话框中 ● WcanoImp : 将以电子表格形式(Excel 等)保存的外部数据转化为 CANOCO 识别的 形式 ● CanoDraw 4.0 for Windows:用来绘制各种类型的排序图,同时也可以生成多种等值 线和回归模型图,并进一步深层次发掘排序结果,该模块可以直接从主程序界面工 具栏激活 ● CanoMerge:合并 Canoco 识别的 dta 类型数据文件,并可以将数据文件以带制表分 隔符的文本形式输出(基本常用统计软件均兼容该类型文件),同时该模块具有滤掉 低频率物种的功能 ● PrCoord:对特定数据集进行主坐标分析以及冗余分析
在Canoco 5中,主成分分析PCA)是一种常用的多元统计技术,用于降低多变量数据集的维度。主成分分析通过计算原始变量的线性组合来创建新的无关主成分,其中第一个主成分解释了原始数据中最大的方差,第二个主成分解释了次大的方差,依此类推。 在主成分分析结果中,指标箭头表示原始变量与主成分之间的相关性。箭头的方向指示了变量在主成分上的正负贡献。调整指的是对主成分分析结果进行调整,以更好地解释变量之间的关系。 具体来说,调整可以包括以下几个方面: 1. 选择合适的变量:在进行主成分分析之前,可以根据研究目的和领域知识选择合适的变量。这样可以确保主成分分析结果更加准确和有意义。 2. 数据预处理:在进行主成分分析之前,需要对原始数据进行预处理,例如去除异常值、缺失值处理、标准化等。这样可以减少不必要的噪声和偏差,提高主成分分析结果的可靠性。 3. 解释主成分:通过观察主成分贡献率、特征向量和变量负荷等指标,可以解释主成分的含义和变量之间的关系。根据需要,可以调整变量的权重或排除某些变量,以更好地解释主成分分析结果。 4. 结果解读:在对主成分分析结果进行解读时,可以考虑变量之间的相关性、主成分的解释能力、变量的重要性等因素。通过调整指标箭头的方向和长度,可以更好地理解变量在主成分上的贡献程度和方向。 需要注意的是,主成分分析是一种数据驱动的统计方法,结果应该结合实际情况和领域知识进行解读和调整,以确保分析结果的合理性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值