为什么MCA比PCA慢得多?

时间:2019-07-27 03:04:06

标签: python performance pca dimensionality-reduction

我有一个大的(50k行,2k列)稀疏二进制数据集,因此PCA并不是降低维数的最佳选择。我下载了this mca软件包,并且正在运行以下代码:

import mca
import pandas as pd
data_dummy = mca.dummy(pd.DataFrame(data))
mca_counts = mca.MCA(data_dummy)
mca_components = mca_counts.fs_r(1)

我已经让它运行了一个多小时,但还是一无所获。相比之下,sklearn的PCA实施可以在30秒内遍历同一数据集。我做错什么了吗?还是MCA不像PCA那样是确定性的全局优化算法。如果是这样,我还应该考虑另一种实现吗?我只是想找到一种用于稀疏分类(二进制)数据的快速下降维降技术。

1 个答案:

答案 0 :(得分:0)

不要使用我正在使用的MCA软件包。使用Prince,就像建议的@LazyCoder一样。我不太确定为什么它这么快,但这似乎可以解决。