2017-09-28 6 views
1

2つの主成分との最大相関を持つフィーチャを見つける必要があります。 これは訓練タスクがあるとの結果が間違っているあなたは、あなたの変換されたデータの絶対値を取る理由のための任意の正当化を提供していないんpython PCAメソッド

from sklearn import datasets 

iris = datasets.load_iris() 
data = iris.data 
target = iris.target 
target_names = iris.target_names 
means, = np.mean(data, axis=0), 
X = (data - means) 

from sklearn.decomposition import PCA 
model = PCA(n_components=2) 
model.fit(X) 
proect_data = model.transform(X) 
proect_data_abs = np.absolute(proect_data) 
means, = np.mean(proect_data_abs, axis=0), 
Y = (proect_data_abs - means) 
corr_array = np.corrcoef(X.T, Y.T) 

答えて

2

(すべての4つの成分は、1つのコンポーネントでより多くの相関関係を持っている)、それは非常にありますなぜあなたがそれを行うのか不明です。

一部が不要再び平均を差し引く作るこれ、削除された場合は、予想される結果を取得し、それが主成分と最も高い相関持っている機能をオフ読みするのは簡単です:

Y = proect_data 
corr_array = np.corrcoef(X.T, Y.T) 
corr_array[4:,:4] 

array([[ 0.89754488, -0.38999338, 0.99785405, 0.96648418], 
     [ 0.39023141, 0.82831259, -0.04903006, -0.04818017]]) 
+0

グレートを。ありがとうございました。それは動作します –

+0

あなたが助けた場合、upvoteして、答えが受け入れられたようにマークしてください:) – Atnas