分类任务——如何处理大数据文件?

数据挖掘 分类 大数据
2022-02-24 10:30:48

我正计划构建一个分类模型来预测纽约出租车行程费用。CSV 数据文件非常大,包含 112 234 626 行(约 10 GB)。我已经设法将此文件下载到我计算机的本地磁盘上,但是当我开始使用此文件进行解析和模型构建时,会出现进一步的内存问题。

所以,我的问题是:

  1. 我应该从此数据文件中获取用于我的任务的最佳行数是多少?

  2. 我应该如何使用这些行来防止内存不足的问题?

  3. 我应该如何获取这些行,以便它包含所有月份的最佳样本。该文件包含 2018 年的数据,如果我采用行使其仅包含预先指定的行数,则例如数据框可能仅包含 1 月的数据(但我想要所有月份)。

2018年黄色出租车出行数据

2个回答

与熊猫:

import pandas as pd

dataset = pd.read_csv(path, chunksize=1000) #number of rows per chunk

for chunk in dataset:
    #process chunk etc

1) 要使用的最佳行数是所有行。你为什么使用比一切都少的东西?

2)这完全取决于您尝试使用的编程语言和/或框架。如果你在 Python 中工作,你可以看看 Dask,看看它是否能解决你的问题。

3) 如果您想要采样并且想要包含文件所有部分的相等部分(而不是例如,仅前 1000 行而没有其他内容),那么您将一个接一个地遍历所有行并添加均匀分布的 0 到 1 之间的随机数。如果要随机选择 1% 的数据,则删除该数字 > 0.01 的所有行。