何时在单热编码ML工作负载中使用暗阵列与dask数据帧

时间:2018-02-14 14:49:32

标签: python dask

我有一个数据集,它是一个巨大的,短而胖的矩阵(~4000 x 20,000,000)。我认为dask对我来说可能是一个很好的解决方案。但是,我想确保我可以将其编码为单热矩阵。我查看了dask-ml中的选项,他们似乎总是需要一个dask数据帧。然而,它似乎真的很奇怪,可能会因为它会导致很多开销来创建一个拥有2000万列的数据帧。是否更容易使用一个dask数组并以某种方式使用apply on axis将每列转换为1-hot?感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

我相信dask-ml也支持dask.arrays

然而,dask-ml和dask.dataframe的算法在行而不是列之间并行化,因此两者都不适合。

我怀疑你的矩阵可能非常稀疏。无论您采用哪条路径,我都建议您查看稀疏矩阵,例如scipy.sparsesparse包中的稀疏矩阵。后一个包与dask.array兼容,它确实支持沿任何维度的块,而不仅仅是行。