首页 > 解决方案 > 如何在 dask 数据帧上使用增量 PCA?

问题描述

我正在使用一个 dask 数据帧,由于它的大小,它不能直接加载到内存中。我想执行使用增量 PCA 的顶部降维。

我的数据框本质上是稀疏的,所以问题是我可以执行它,如果是,那么如何执行。

image_features_df.head(3)
   feat1   feat2   feat3  ...  feat25087    feat25088   fid   selling_price
0   0.0    0.0     0.0    ...   0.0          0.0         2       269.00
4   0.3    0.1     0.0    ...   0.0          0.8         26      1720.00    
6   0.8    0.0     0.0    ...   0.0          0.1         50      18145.25

以上是我的数据框的视图。我希望输出具有 95% 的累积方差。怎么做?

我的数据框有 100,000 行和 25088 列,所以请告诉一个内存高效的解决方案。

标签: pythonpandasdask

解决方案


看看 dask-ML 中的 PCA 实现,https: //ml.dask.org/modules/generated/dask_ml.decomposition.PCA.html ,这可能已经适用于您的情况,因为它使用 tsqr 算法(https ://arxiv.org/abs/1301.1071 )


推荐阅读