2012-08-24 71 views
0

我想在矩陣(C)上執行PCA,其中每列表示一個不同的時間點,每一行代表一個功能,我試圖找到最高委託人組件並將它們相互映射。我正在使用mdp模塊,我很困惑,如果這個模塊返回矩陣,其中每一行代表一個主要組件,其中最重要的組件按降序排列。PCA在蟒蛇和繪製頂部2組件對彼此

import mdp 
C=mdp.pca(C) 
print C 

import matplotlib.pyplot as plt 

plt.plot(C[2,:C.shape[1]], C[1,:C.shape[1]], 'r*') 
plt.show() 

謝謝!

回答

1

mdp docs on mdp.pca

PCA(X,** kwargs)通過其 主成分篩multidimensioanl輸入數據。

觀察同一個變量存儲在行上,不同的 變量存儲在列上。

這是相應節點nodes.PCANode的快捷功能。 如果指定了任何關鍵字參數,則將它們傳遞給其構造函數 。

這相當於mdp.nodes.PCANode(** kwargs)(X)

爲了打破這種下來,就意味着您發送的關鍵字參數PCANode設立的構造,然後用它的__call__方法,該方法,根據PCANode文檔,實際調用其execute method,其執行以下操作:

執行(個體,X,N =無)

項目的輸入第一個'n'主體 組件。如果未設置「n」,請使用所有可用的組件。

所以,你得到突起的矩陣,描述爲上述(上行上的列相同的變量的觀察,不同的變量)