原文:http://www.cnblogs.com/leonwen/p/5158947.html

  该算法由MatLab移植而来(具体参见上一篇博文)。但是最终输出结果却和MatLab不一致,经排查发现在进行调用两者内部函数eig进行求解特征值和特征向量的时候,两者特征值都一致,但是特征向量却不同。

  可是,从理论上感觉也说得过去,因为特征向量本来就具有不唯一性。最让人费解的是,就算两者特征向量不一致,可为什么使用PCA的结果却反差很大呢?感觉上来看,好像是Python的不准确性更大一点。

  代码如下:

# -*- coding: utf-8 -*-
"""
Created on Tue Jan 12 21:45:57 2016
@author: LeonWen
"""import osfrom PIL import Image
from numpy import *
from pylab import *path = r'D:\Projects\PythonProj\ImageProcessing\2012'
sst_dir = os.listdir(path)
file_len = len(sst_dir)sst_list = []for i in range(file_len):str = path + '\\' + sst_dir[i]#txt = open(str).read()
    sst_list.append(str)immatrix = []for im in sst_list:text = loadtxt(im)    immatrix.append(text)immatrix = array(immatrix)# 显示输出
figure()
gray()
for i in range(file_len):subplot(3,4,i + 1)pic = immatrix[i].reshape(180,360)pic = pic[::-1]
#    picshow = rot90(pic,4)
    imshow(pic)colorbar()show()# 转换成样本总体
X = immatrix.T
# 获取要本大小
m,n = X.shape[0:2]# 取得各个样本均值
meanVal = mean(X,axis = 0)
#tempMean = tile(meanVal,(64800,1))# 样本矩阵去中心化
X = X - tile(meanVal,(64800,1))# 计算协方差
S = dot(X.T,X) / (m - 1)# 计算特征值eg和特征向量Ev
eg,Ev = linalg.eig(S)
#eg1,Ev1 = linalg.eigh(S) # 这两种算法存在排序区别,eigh返回结果由小到大# 计算新的成分
Y = dot(immatrix.T,Ev)figure()
gray()
for i in range(n):subplot(3,4,i + 1)out = Y[:,i]
    outpic = out.reshape(180,360)outpic = outpic[::-1]
    imshow(outpic)
    colorbar()show()

  结果显示:

原始数据显示

PCA主成分分析结果输出

  可能是我自己的原因吧,正在排查,哪位大神指导还望课指导鄙人一下~先就此谢过~O(∩_∩)O~

转载于:https://www.cnblogs.com/leonwen/p/5158947.html

Python遥感数据主成分分析相关推荐

  1. python遥感数据有偿处理_利用python读写tiff遥感影像数据

    from osgeo import gdal # 读图像文件 def read_img(filename): dataset = gdal.Open(filename) # 打开文件 im_width ...

  2. 用python对数据进行主成分分析、类概念描述及特征化分析-实验报告

    数据挖掘课程的期中实验,仅供参考.完成时间:2022.10.29 基本要求:利用python对数据集中的数据进行主成分分析.类概念描述及特征化分析.要有相关结果的可视化结果.比如数据的分布情况. 数据 ...

  3. 利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据

    利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据 1. 描述   sentinelhub Python包支持用户利用两种方式进行卫星遥感数据的下载和处理.第 ...

  4. Python地球科学领域应用:python处理遥感数据、站点数据、遥感水文数据、气候变化数据、WRF模式数据后处理、运行生态模型

    点击查看原文>>>Python地球科学[赠CMIP6月/日数据.全球VIPPHEN物候数据.ERA5-LAND陆面再分析数据.遥感降水数据] >>>高精度气象模拟软 ...

  5. 代码分享 | tiff,nc,hdf,mat,grib,raw遥感数据python读取

    1. tiff数据 read TIFF image # 读取tiff数据需要GDAL库 from osgeo import gdal def Read_tiff(file_path):# img_fi ...

  6. Python遥感可视化 — Basemap对遥感数据可视化

    欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...

  7. 使用Python+Chrome浏览器批量下载Ocean Color上遥感数据

    目录 1.前言 2.主要思路及代码 3.结果展示 建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529 1.前言 最近遇见一个很尴尬的事情.之前写过用IDM批量 ...

  8. Python遥感图像处理应用篇(九):使用NDVI指数数据批量计算植被覆盖度FVC

    1.植被覆盖度相关概念 植被覆盖度( Fractional Vegetation Cover,FVC)指植被(包括叶.茎.枝)在地面的垂直投影面积占统计区总面积的百分比.通常采用像元二分模型计算: 计 ...

  9. Python遥感图像处理应用篇(十六):GDAL 将归一化处理csv数据转化为遥感影像

    1.使用数据 将上一篇文章中得到的计算结果作为转换数据.链接如下: Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理_空中旋转篮球的博客-CSDN博客 2.实现代码 基本思 ...

最新文章

  1. 线性模型已退场,XGBoost时代早已来
  2. mysql load settings_Mysql high performance: Memory setting
  3. 学生们喜欢在计算机教室上课用英语怎么说,说说学习本课的感想,并谈谈在信息技术课堂上如何体现以学生为主体,教师为主导?...
  4. 使用Hibernate(JPA)一键式删除
  5. Hadoop+Spark 集群部署
  6. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】
  7. 数据库原理mysql_数据库原理:MySql的安装
  8. Python爬取网易云热歌榜所有音乐及其热评
  9. unity skybox天空盒下载
  10. win10专业版没有触摸板选项_win10鼠标光标不见了触摸板没反应
  11. 我的3D虚拟旅游公司的假想
  12. 华为服务器麒麟系统,通用服务器麒麟os
  13. 免流发展史-三大运营商
  14. 小黑fastNLP实战:实体识别1
  15. 一文带你开始挣取自己的一点睡后收入(基金,理财)
  16. 机器学习实战:Python基于支持向量机SVM-RFE进行分类预测(三)
  17. http状态码大全304、201、203等等
  18. Excel应用技巧3 超级表格
  19. 2019年7月-8月-9月读书笔记
  20. 计算机网页设计论文加成品,计算机网页设计教学研究论文

热门文章

  1. Spark学习之Spark RDD算子
  2. 将php-fpm添加至service服务
  3. 作用域和闭包的通俗理解
  4. DBA巡检常用的SQL语句
  5. (8) Xamarin使用Jar檔
  6. CSS的未来:游戏的变革Flexbox
  7. 用fieldset标签轻松实现Tab选项卡效果
  8. DotNet 开发团队图
  9. java获取方法上的注解_Spring:使用Spring AOP时,如何获取目标方法上的注解
  10. Android - View绘图原理总结