我需要使用pca來標識具有某組數據的最高方差的維度。我正在使用scikit-learn的pca來完成它,但是我無法從pca方法的輸出中識別出具有最高方差的我的數據組件。請記住,我不想消除這些維度,只能識別它們。使用scikit-learn PCA找到具有最高方差的維度
我的數據組織成150行數據的矩陣,每個數據有4個維度。我做如下:
pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)
當我打印pca.explained_variance_ratio_,輸出下令從最高到最低方差比率的數組,但它並沒有告訴我,他們所對應的尺寸從數據到(我試着改變我的矩陣上的列的順序,結果方差比數組是相同的)。根據scikit的文檔,他們應該是一個4×4的矩陣(我留下了原始數量的組件作爲參數爲pca)具有最大方差(特徵向量可能?)的分量,但沒有這些值參考的維度的符號。
轉換數據也沒有幫助,因爲維度以某種方式改變,我無法真正知道它們最初是哪一個。
有沒有什麼方法可以用scikit的pca獲取這些信息?謝謝
的''components_''第一行是最大方差的方向,因爲文檔的狀態。我不完全確定什麼是不明確的。 ''explain_variance_ratio_''中的條目與''components_'''的行相對應。您是指「沒有符號表示這些值涉及哪個維度」? – 2013-03-13 11:01:55
嗯,我的問題是,考慮到我的數據中有4個維度,並且我只想保留具有最高變化的2維的維度,我如何知道我的數據的哪些維度將保留如果我將PCA應用於n_components = 2。例如,假設我的數據的第二維和第四維具有最高的方差,但我不知道這一點。我想申請PCA,並有一些方法從結果中獲取這些信息。再次,我不需要轉換數據! – 2013-03-13 16:27:24