IDL实现主成分变化(PCA)】的更多相关文章

IDL只能通过调用envi的二次接口做图像的变换,但是对于普通的数据没有提供函数.根据主成分变换的原理,用IDL写出来了,这样就不用每次再去用matlab的princomp去做了.主成分变化的基本过程: (1)把原始数据中每个样本用一个向量表示,然后把所有样本组合起来构成一个矩阵.当然了,为了避免样本的单位的影响,样本集需要标准化. (2)求该矩阵的协防差矩阵 (3)求步骤2中得到的协方差矩阵的特征值和特征向量. (4)将求出的特征向量按照特征值的大小进行组合形成一个映射矩阵. (5)用步骤4的…
求数据的第一主成分 (在notebook中) 将包加载好,再创建出一个虚拟的测试用例,生成的X有两个特征,特征一为0到100之间随机分布,共一百个样本,对于特征二,其和特征一有一个基本的线性关系(为什么要有一个基本的线性关系?是因为含有一个基本的线性关系,这样对数据降维的效果会更加的明显) import numpy as np import matplotlib.pyplot as plt X = np.empty((100,2)) X[:,0] = np.random.uniform(0. ,…
在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析.简化数据集的技术.主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征.[wiki] 在遥感影像解译与分类中,PCA是经常用到的降维滤噪处理技术.现在实现这个处理流程,便于熟悉和掌握IDL矩阵乘除运算操作. IDL 源码PRO PCA,DATA,EIGENVALUES = egValues,EIGENVECTORS = egvec,PERCENT = PERCENT…
降维技术 对数据进行降维有如下一系列的原因: 使得数据集更容易使用 降低很多算法的计算开销 去除噪音 使得结果易懂 在以下3种降维技术中, PCA的应用目前最为广泛,因此本章主要关注PCA. 主成分分析(Principal Component Analysis, PCA) 通俗理解:就是找出一个最主要的特征,然后进行分析. 在PCA中,数据集从原始坐标系转换为新的坐标系.新的坐标系选择由数据本身决定.第一个新轴选择数据中方差最大的方向.第二轴与第一轴正交,且具有最大方差的方向.对于原始数据中的所…
1.导入包 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark.sql.Row import org.apache.spark.sql.DataFrame import org.apache.spark.sql.Column import org.apache.spark.sql.DataFrameReader import org.apache.…
一.思维理解 X:原始数据集: Wk:原始数据集 X 的前 K 个主成分: Xk:n 维的原始数据降维到 k 维后的数据集: 将原始数据集降维,就是将数据集中的每一个样本降维:X(i) . WkT = Xk(i): 在人脸识别中,X 中的每一行(一个样本)就是一张人脸信息: 思维:其实 Wk 也有 n 列,如果将 Wk 的每一行看做一个样本,则第一行代表的样本为最重要的样本,因为它最能反映 X 中数据的分布,第二行为次重要的样本:在人脸识别中,X 中的每一行是一个人脸的图像,则 Wk 的每一行也…
一.什么是PCA 主成分分析 Principal Component Analysis 一个非监督学的学习算法 主要用于数据的降维 通过降维,可以发现更便于人类理解的特征 其他应用:可视化:去噪 第一步:将样例的均值归零(demean) 二.使用梯度上升法求解PCA问题 梯度上升法解决主成分分析问题 三.求数据的主成分PCA 四.求数据的主成分 PCA 求数据的前 N 个主成分 求出第一个主成分以后,如何求出下一个主成分? 数据进行改变,将数据在第一个主成分的分量去掉. 我写的文章只是我自己对b…
在 skilearn 的手写数据集中,每个数据点都是 0 到 9 之间手写数字的一张 8*8 灰度图像.用 PCA 将其降维到二维,并可视化数据点,如下: 1.digits 数据演示: from sklearn.datasets import load_digits import matplotlib.pyplot as plt digits = load_digits() fig, axes = plt.subplots(2, 5, figsize=(10, 5), subplot_kw={'…
(一)什么是pca pca,也就是主成分分析法(principal component analysis),主要是用来对数据集进行降维处理.举个最简单的例子,我要根据姓名.年龄.头发的长度.身高.体重.皮肤的白皙程度(随便想的)等特征来预测一个人的性别,但这些特征中有一个是最没有用的,是什么的?显然是年龄,因为年龄的大小跟这个人的性别无关.还有姓名,这个特征显然起不到决定性作用,因为有的男孩的名字起的就像女孩(比如我本人),反之亦然,但是起码绝大多数情况还是能判断的.同理还有身高,一个180CM…
求数据前n个主成分并进行高维数据映射为低维数据的操作 求数据前n个主成分 先前的将多个样本映射到一个轴上以求使其降维的操作,其中的样本点本身是二维的样本点,将其映射到新的轴上以后,还不是一维的数据,对于n维数据来说,他应该有n个轴,第一个轴是方差最大的,第二个轴次之,以此类推,可以将主成分分析法看做是将数据从一个坐标系转换到另一个坐标系中 那么在求出第一主成分以后,如何求出下一个主成分呢?我们可以对数据进行改变来达到这个效果,即将数据在第一主成分上的分量给去掉 先前的Xi点乘上w以后是等于Xpr…