【发布时间】:2014-07-15 09:26:52
【问题描述】:
我有一个 22 GB 的数据集。我想在我的笔记本电脑上处理它。当然,我无法将其加载到内存中。
我经常使用 sklearn,但数据集要小得多。
在这种情况下,经典方法应该是这样的。
只读部分数据 -> 部分训练您的估算器 -> 删除数据 -> 读取其他部分数据 -> 继续训练您的估算器。
我已经看到一些 sklearn 算法具有部分拟合方法,应该允许我们使用数据的各种子样本训练估计器。
现在我想知道为什么在 sklearn 中这样做很简单? 我正在寻找类似的东西
r = read_part_of_data('data.csv')
m = sk.my_model
`for i in range(n):
x = r.read_next_chunk(20 lines)
m.partial_fit(x)
m.predict(new_x)
也许 sklearn 不是处理这类事情的正确工具? 告诉我。
【问题讨论】:
-
查看相关:stackoverflow.com/questions/17017878/…,根据您的任务应该是可能的
-
我找到了一些变量太多的例子。但是如果我们的样本太多怎么办?
-
我不是专家,但我认为没关系,您的模型是根据输入进行训练的,它应该只是存储的参数/权重。如果您有一个决策树,情况就不同了,因为随着参数数量的增加以及样本量的增加,决策树的大小会增加。
-
真正的问题是我无法加载 csv 文件,因为它太大了
标签: python bigdata scikit-learn