原文:
可是,從理論上感覺也說得過去,因為特徵向量本來就具有不唯一性。最讓人費解的是,就算兩者特徵向量不一致,可為什麼使用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()
immatrix =
for im in
sst_list:
text =loadtxt(im)
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~
主成分分析
主成分分析 pca 分析乙個隨機向量的中的主成分 主成分一般不是隨機向量中的某乙個分量,而是不同分量的線性組合,根據資訊理論的觀點,資訊的多少與方差有關,所以 主成分是方差最大的幾個成分 主成分分析的方法是求隨機向量的協方差矩陣 用樣本協方差矩陣代替 對於差異較大的資料,可採用相關矩陣代替協方差矩陣...
主成分分析
理論要點 1 主成分分析是一種無監督學習,因此不能用交叉驗證來檢驗誤差 2 在處理資料之前,要對資料做中心化處理 3 p太大的話,做特徵分解用svd 4 一共有min n 1,p 個主成分,因為中心化以後,rank要降一維 5 主成分的載荷向量就是協方差矩陣的特徵向量,對應特徵值最大的是第一主成分,...
主成分分析
1.概念 將一組可能存在相關性的隨機變數轉變成互不相關的隨機變數。這個概念裡有三個地方需要理解清楚。1 隨機變數的指代 在資料集中,每乙個樣本,即將資料集理解成乙個 的話,乙個樣本就是一行,則每一列就是乙個特徵,也就是乙個隨機變數,一列的所有取值就是隨機變數的所有可能取值 說的所有可能取值只針對訓練...