我正在尝试对尺寸为(100000,1024)的矩阵执行白化。我需要确定来自sklearn.decomposition的PCA或RandomizedPCA是否可以处理这个大小的问题,如果没有,我可以使用的最大数量的功能是什么,并且仍然在大约24小时内完成。实现没有并行化。
根据the documentation for sklearn.decomposition.PCA,PCA变换的时间复杂度为'O(n ** 3),假设n~n_samples~n_features。'但我不确定那符号是什么意思。
RandomizedPCA被认为效率更高,因为它是近似值,但我不知道多少。文档中没有时间复杂性。
作为参考,我已经完成了对(100000,2)的转换,大约需要2分钟。我开始转换(PCA和RandomizedPCA)到(100000,1024)都运行了大约一个小时。我想知道他们是否会完成,但如果我不能,我会在24小时后终止它们,如果它们还在运行的话。
答案 0 :(得分:4)
通过实验,看起来随机PCA线性增长,并在1024小时内完成了一个多小时。