我正在使用Scikit-Learn进行全基因组关联研究,其中大约100K SNP的特征向量。我的目标是告诉生物学家哪些SNP“有趣”。

随机PCA 确实改善了我的模型,但是我无法解释结果。 Scikit-Learn可以告诉我每个组件中使用哪些功能?

有帮助吗?

解决方案

是的,通过 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']));

Faceted scatter plot

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

我们看到截断的分解只是完整分解的截断。每一行都包含相应主组件的系数。

许可以下: CC-BY-SA归因
scroll top