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

PCA(主成分分析)是一种统计方法,用于通过最大化低维空间中每个维度的方差来投影高维数据。它常用于数据降维和可视化,帮助识别变量间的主要差异。PCA通过计算数据的协方差矩阵,执行特征值分解来实现。在机器学习中,PCA可用于减少噪声,提高模型训练效率。本文介绍了PCA的原理,并通过代码示例展示了如何使用SVD进行PCA计算。
摘要由CSDN通过智能技术生成

前一篇提到的人脸识别中,我们在使用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

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:对特定数据集进行主坐标分析以及冗余分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值