我正在数据上运行PCA(约250个功能),看到所有点都聚集在3个斑点中。
是否有可能看到250个功能中哪个最有助于结果?如果是这样怎么办?
(使用Scikit-learn实现)
让我们看看维基百科是怎么说的:
PCA 在数学上被定义为一种正交线性变换,它将数据转换到一个新的坐标系,使得数据的某个投影的最大方差位于第一个坐标(称为第一主成分)上,第二个最大方差位于第二个坐标,依此类推。
为了在较小的空间中获得来自原始空间的向量的“影响力”,您还必须对它们进行投影。这是通过以下方式完成的:
res = pca.transform(np.eye(D))
Run Code Online (Sandbox Code Playgroud)
np.eye(n)创建一个n x n对角矩阵(对角线上为 1,否则为 0)。np.eye(D)您的特征是否在原始特征空间中res 是你的特征在较低空间的投影。有趣的是,这res是一个D x d矩阵,其中 res[i][j] 表示“我对组件j贡献了多少特征”
然后,您可以对列求和以获得D x 1矩阵(称为contributiion,其中每个contribution[i]是特征i的总贡献。
对其进行排序,您会发现最有贡献的功能:)
不确定它是否清楚,可以添加任何类型的附加信息。
希望这有帮助,pltrdy
| 归档时间: |
|
| 查看次数: |
2317 次 |
| 最近记录: |