我有一个包含大约 7400 万个观察值的数据集。每个观察结果都由约 1,000 个特征表示,并用最多约 3,200 个二元类进行标记。大多数单独的观察结果标记的类别不超过 10 个,因此标签非常稀疏。目前,标签和特征矩阵以 MatrixMarket 格式存储。
我想在 74m * 1000 输入矩阵上训练神经网络来预测 74m * 3200 标签。然而,这显然不适合记忆。这是我第一次使用这么大的数据集。到目前为止,我能看到的选项包括:
对于那些没有太多处理不适合内存的数据集的经验的人来说,有什么关于解决这个问题的最佳方法的建议吗?
要处理数据集大小,请使用像datasets这样的库,它不需要加载到内存中。
如果你想更进一步,你可以将数据从密集转换为稀疏,其中你只跟踪当前类的 ID。
例如,
[0, 0, 1, 0, 0, 0, 0, 0, 1, 0]
将变为 [2, 8]