我有一个数据集,它是一个巨大的、短的、胖的矩阵(大约4000 x 20,000,000)。我认为dask对我来说可能是一个很好的解决方案。但是,我希望确保可以将其编码为一个单热矩阵。我查看了dask-ml中的选项,它们似乎总是需要一个dask数据帧。然而,创建一个有2000万列的数据帧似乎真的很奇怪,而且可能会导致大量开销。使用dask数组并以某种方式使用apply on axis将每一列转换为1-hot会更容易吗?谢谢你的建议。
发布于 2018-02-14 22:58:00
我相信dask-ml也支持dask.arrays
但是,dask-ml和dask.dataframe的算法都是跨行并行的,而不是跨列并行的,因此这两种算法可能都不是很合适。
我怀疑你的矩阵可能是非常稀疏的。无论您采用哪种方式,我都建议您查看稀疏矩阵,比如scipy.sparse或sparse包中的稀疏矩阵。后一个包与dask.array兼容,后者支持沿任何维度分块,而不仅仅是行。
https://stackoverflow.com/questions/48789985
复制相似问题