Python遥感数据主成分分析
原文: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遥感数据主成分分析相关推荐
- python遥感数据有偿处理_利用python读写tiff遥感影像数据
from osgeo import gdal # 读图像文件 def read_img(filename): dataset = gdal.Open(filename) # 打开文件 im_width ...
- 用python对数据进行主成分分析、类概念描述及特征化分析-实验报告
数据挖掘课程的期中实验,仅供参考.完成时间:2022.10.29 基本要求:利用python对数据集中的数据进行主成分分析.类概念描述及特征化分析.要有相关结果的可视化结果.比如数据的分布情况. 数据 ...
- 利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据
利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据 1. 描述 sentinelhub Python包支持用户利用两种方式进行卫星遥感数据的下载和处理.第 ...
- Python地球科学领域应用:python处理遥感数据、站点数据、遥感水文数据、气候变化数据、WRF模式数据后处理、运行生态模型
点击查看原文>>>Python地球科学[赠CMIP6月/日数据.全球VIPPHEN物候数据.ERA5-LAND陆面再分析数据.遥感降水数据] >>>高精度气象模拟软 ...
- 代码分享 | 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 ...
- Python遥感可视化 — Basemap对遥感数据可视化
欢迎关注博主的微信公众号:"智能遥感". 该公众号将为您奉上Python地学分析.爬虫.数据分析.Web开发.机器学习.深度学习等热门源代码. 本人的GitHub代码资料主页(持续 ...
- 使用Python+Chrome浏览器批量下载Ocean Color上遥感数据
目录 1.前言 2.主要思路及代码 3.结果展示 建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529 1.前言 最近遇见一个很尴尬的事情.之前写过用IDM批量 ...
- Python遥感图像处理应用篇(九):使用NDVI指数数据批量计算植被覆盖度FVC
1.植被覆盖度相关概念 植被覆盖度( Fractional Vegetation Cover,FVC)指植被(包括叶.茎.枝)在地面的垂直投影面积占统计区总面积的百分比.通常采用像元二分模型计算: 计 ...
- Python遥感图像处理应用篇(十六):GDAL 将归一化处理csv数据转化为遥感影像
1.使用数据 将上一篇文章中得到的计算结果作为转换数据.链接如下: Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理_空中旋转篮球的博客-CSDN博客 2.实现代码 基本思 ...
最新文章
- 线性模型已退场,XGBoost时代早已来
- mysql load settings_Mysql high performance: Memory setting
- 学生们喜欢在计算机教室上课用英语怎么说,说说学习本课的感想,并谈谈在信息技术课堂上如何体现以学生为主体,教师为主导?...
- 使用Hibernate(JPA)一键式删除
- Hadoop+Spark 集群部署
- Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】
- 数据库原理mysql_数据库原理:MySql的安装
- Python爬取网易云热歌榜所有音乐及其热评
- unity skybox天空盒下载
- win10专业版没有触摸板选项_win10鼠标光标不见了触摸板没反应
- 我的3D虚拟旅游公司的假想
- 华为服务器麒麟系统,通用服务器麒麟os
- 免流发展史-三大运营商
- 小黑fastNLP实战:实体识别1
- 一文带你开始挣取自己的一点睡后收入(基金,理财)
- 机器学习实战:Python基于支持向量机SVM-RFE进行分类预测(三)
- http状态码大全304、201、203等等
- Excel应用技巧3 超级表格
- 2019年7月-8月-9月读书笔记
- 计算机网页设计论文加成品,计算机网页设计教学研究论文