gpt4 book ai didi

python - 在线/流媒体学习的验证

转载 作者:行者123 更新时间:2023-11-30 09:12:18 26 4
gpt4 key购买 nike

我必须对一些太大而无法放入内存的数据训练分类模型,我正在使用 scikit learn 和 pandas 来进行分析。所以这是我的问题,如何在在线学习管道中使用验证来调整超参数?

我使用带有chucksize的pandas read_sql_query和sklearn SGDClassifierpartial_fit从sql数据库流式传输数据。这是一个例子:

clf = SGDCClassifier()
for chunk in pd.read_sql_query("""
select *
from table;
""",
con = conn,
chunksize = n):

preprocess chunk
.
.
.
clf.partial_fit(chunk)

我的问题是:在这样的设置中进行验证的最佳方法是什么?

最佳答案

对于流来说,验证(用于调整或其他任何事情)实际上是很自然的。

说这是流的逻辑表示

|-------------------------------------------------------------------------->

它从左侧开始,向右移动时会添加元素。由于这是一个流设置,我们假设它不能全部装入内存。

在第i步,你在内存中拥有了这个 block

|--------------------(cccccccccccc)---------------------------------------->

因此,您提前决定火车 ( r ) 和测试 ( t ) 部件的大小,然后您会得到如下所示的结果:

|--------------------(rrrrrrrrrrrtt)---------------------------------------->

此时,您只能从r学习s,然后您检查自己 t s。

在步骤i + 1,一些t变成r s,并且您必须丢弃一些旧的 r s(不过,存储数据聚合是完全允许的)。

不要忘记留下一些数据以进行干净的测试。

关于python - 在线/流媒体学习的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31460989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com