Interpretation der Ergebnisse randomisierter PCA in Scikit-Learn
-
16-10-2019 - |
Frage
Ich verwende Scikit-Learn, um eine genomweite Assoziationsstudie mit einem Merkmalsvektor von etwa 100.000 SNPs durchzuführen. Mein Ziel ist es, den Biologen zu sagen, welche SNPs "interessant" sind.
RandomisiertePca Ich habe meine Modelle wirklich verbessert, aber ich habe Probleme, die Ergebnisse zu interpretieren. Kann Scikit-Learn mir sagen, welche Funktionen in jeder Komponente verwendet werden?
Lösung
Ja, durch die components_
Eigentum:
import numpy, seaborn, pandas, sklearn.decomposition
data = numpy.random.randn(1000, 3) @ numpy.random.randn(3,3)
seaborn.pairplot(pandas.DataFrame(data, columns=['x', 'y', 'z']));
sklearn.decomposition.RandomizedPCA().fit(data).components_
> array([[ 0.43929754, 0.81097276, 0.38644644],
[-0.54977152, 0.58291122, -0.59830243],
[ 0.71047094, -0.05037554, -0.70192119]])
sklearn.decomposition.RandomizedPCA(2).fit(data).components_
> array([[ 0.43929754, 0.81097276, 0.38644644],
[-0.54977152, 0.58291122, -0.59830243]])
Wir sehen, dass die abgeschnittene Zersetzung einfach die Kürzung der vollständigen Zersetzung ist. Jede Zeile enthält die Koeffizienten der entsprechenden Hauptkomponente.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange