2016-03-27 4 views
0

Dies ist samplefile ich durch ersten Lauf PCA zu analysieren versuchen:Daten mit Python mit 2-Komponenten umgewandelt Visualizing

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 

Mit dem folgende Skript:

#!/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() 

Bitte beachten Sie, ich mag um die ersten beiden Komponenten zu plotten, und wie ich verstehe, mache ich das

Dies ist die Handlung, die ich bekomme:

Ich möchte einige Informationen daraus herausziehen und sicherstellen, dass ich das richtig gemacht habe, indem ich PCA auf den ersten zwei Komponenten durchführte. Wenn ich die n_components in pca = pca(n_components) zu 2 oder 5 ändere, gibt es keine Änderung. Irgendwelche Ideen warum oder was mache ich falsch?

+1

Die zwei Komponenten, die Sie mit 'n_components = 2' erhalten, sollten mit den ersten beiden Komponenten übereinstimmen, die Sie mit' n_components = 5' erhalten. Es wird also keinen Unterschied geben, wenn Sie diese nur plotten. Der Unterschied besteht darin, dass Sie im zweiten Fall zusätzliche Komponenten erhalten. – BrenBarn

Antwort

0

Versuchen Sie, die Form Ihres Ergebnisses zu drucken.

print (fit.shape) 

Das zweite Element des Tupels zurück sollte die gleiche wie n_components sein.
Wie gesagt in der documentation: n_components die

halten

Anzahl der Komponenten darstellen Wenn Sie Daten visualisieren möchten, die mehr als 2 oder 3 Dimensionen bei this page auszusehen hat, vielleicht können Sie versuchen, t-SNE zum Reduzieren der Dimensionalität Ihrer Daten anstelle von PCA (wenn es sich um Visualisierung handelt).