【发布时间】:2017-10-13 17:32:47
【问题描述】:
我有 1.85 亿个样本,每个样本大约 3.8 MB。为了准备我的数据集,我需要对许多特征进行一次热编码,然后最终得到超过 15,000 个特征。
但是我需要分批准备数据集,因为当一次热编码仅使用 300 万个样本时,仅针对特征的内存占用就超过 100 GB。
问题是如何在批次之间保留编码/映射/标签?
这些批次不一定具有一个类别的所有级别。也就是说,第 1 批可能有:巴黎、东京、罗马。
第 2 批可能有巴黎、伦敦。
但最终我需要将巴黎、东京、罗马、伦敦都同时映射到一种编码。
假设我无法一次确定我的 1.85 亿城市列的级别,因为它不适合 RAM,我该怎么办? 如果我将相同的 Labelencoder 实例应用于不同的批次,映射会保持不变吗? 在此之后,我还需要批量使用 scikitlearn 或 Keras 的 np_utilities_to_categorical 的一种热编码。所以同样的问题:如何基本上批量使用这三种方法或一次将它们应用于存储在磁盘上的文件格式?
【问题讨论】: