任何使用随机投影进行降维的 R 实现?

Any R implementation for dimension reduction using random projection?

我有一个大 p (~20K) 和小 n (~500) 的问题。我首先想到的是降维。在尝试了 PCA、robust PCA、ICA、去除高度相关的特征之后,我在考虑使用 Random Projection。然而,随机投影没有简单的R实现。

我找到了一些随机投影 R 包,比如

  1. MCLUST:https://cran.r-project.org/web/packages/mclust/index.html
  2. RPEnsemble:https://cran.r-project.org/web/packages/RPEnsemble/index.html

但是,他们好像不支持直接随机投影降维。我对随机投影的了解有限,但我发现 sklearn 中的两个函数支持这个:

高斯随机投影和稀疏随机投影: http://scikit-learn.org/stable/modules/random_projection.html

并且功能界面非常简单。

在R中可以轻松实现随机投影吗?或者,利用现有工具在 R 中使用随机投影进行降维?

我同意 RPEnsemble 包似乎没有公开允许您以任何方便的形式仅使用该功能的低级方法。

不过,我确实遇到了这个 R 源代码,它看起来相当简单并且有合理的记录:R source code for random projections. This is part of the clusterv package 你可以在那里下载它。