2016-03-27 15 views
0

でのPythonと変換されたデータの可視化:は、これは私が最初にPCAを実行することにより、分析しようとしていますsamplefileにある2つのコンポーネント

A01_01 A01_02 A01_03 A01_04 A01_05 A01_06 A01_07 A01_08 A01_09 A01_10 A01_11 A01_12 A01_13 A01_14 A01_15 A01_16 A01_17 A01_18 A01_19 A01_20 A01_21 A01_22 A01_23 A01_24 A01_25 A01_26 A01_27 A01_28 A01_29 A01_30 A01_31 A01_32 A01_33 A01_34 A01_35 A01_36 A01_37 A01_38 A01_39 A01_40 A01_41 A01_42 A01_43 A01_44 A01_45 A01_46 A01_47 A01_48 A01_49 A01_50 A01_51 A01_52 A01_53 A01_54 A01_55 A01_56 A01_57 A01_58 A01_59 A01_60 A01_61 A01_62 A01_63 A01_64 A01_65 A01_66 A01_67 A01_69 A01_70 A01_71 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 
0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 

次のスクリプトでは:

#!/usr/bin/env python 
from sklearn.decomposition import PCA 
import matplotlib.pyplot as plt 
import numpy as np  
data = np.loadtxt('/Users/cmdb/Desktop/Lab6_GWAS/variants1.txt', skiprows=1) 
pca = PCA(n_components=2) 
fit = pca.fit_transform(data) #Fit is PCA(copy=True, n_components=2, whiten=False) 

plt.figure() 
plt.scatter(fit[:,0], fit[:,1]) 
plt.show() 

、私は希望に注意してください最初の2つのコンポーネントをプロットすると、私はそれをやっていることを理解しています

これは私が得るプロットです:

私はいくつかの情報を引き出し、最初の2つのコンポーネントでPCAを実行することでこれを正しく行っていることを確認したいと思います。

また、のn_componentsを2または5に変更すると、変更はありません。なぜか、私が間違っていることは何ですか?

+1

'n_components = 2'で取得した2つのコンポーネントは、' n_components = 5'で取得した最初の2つのコンポーネントと同じでなければなりません。違いは、2番目のケースでは追加のコンポーネントが得られることです。 – BrenBarn

答えて

0

あなたの結果の形を印刷してみてください。

print (fit.shape) 

返されるタプルの2番目の要素は、n_componentsと同じである必要があります。
としてはdocumentationで述べている:n_componentsは、あなたが2つの以上または3次元がthis pageを見ていたデータを視覚化したい場合は、多分あなたは試すことができ

を維持するために部品の

数を表しますt-SNE(PCAの代わりにデータの次元性を還元するためのもの)(懸念が視覚化されている場合)

関連する問題