Question

J'utilise scikit-learn à faire une étude d'association pangénomique avec un vecteur caractéristique d'environ 100K SNPs. Mon but est de dire aux biologistes qui sont SNPs « intéressant ».

RandomizedPCA vraiment amélioré mes modèles, mais je vais avoir du mal à interprétariat Les resultats. Peut scikit-learn me dire quelles fonctionnalités sont utilisées dans chaque composant?

Était-ce utile?

La solution

Oui, à travers la propriété components_:

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]])

On voit que la décomposition tronquée est simplement la troncature de la pleine décomposition. Chaque ligne contient les coefficients de la composante principale correspondante.

Licencié sous: CC-BY-SA avec attribution
scroll top