gpt4 book ai didi

python - 有没有办法减少小批量 kmeans 的内存使用?

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:07 28 4
gpt4 key购买 nike

我正在处理一个包含 640 万个样本和 500 个维度的数据集,我试图将其分组为 200 个集群。我的 RAM 限制为 90GB,当我尝试从 sklearn.cluster 运行 MiniBatchKmeans 时,操作系统会因内存消耗过多而终止进程。

这是代码:

data = np.loadtxt('temp/data.csv', delimiter=',')
labels = np.genfromtxt('temp/labels', delimiter=',')

kmeans = cluster.MiniBatchKMeans(n_clusters=numClusters, random_state=0).fit(data)
predict = kmeans.predict(data)
Tdata = kmeans.transform(data)

它不会通过聚类。

最佳答案

解决方案是使用 sklearn 的 partial_fit方法 - 并非所有算法都有此选项,但 MiniBatchKMeans 有。

所以你可以“部分”训练,但你必须拆分你的数据而不是一次读取所有数据,这可以用生成器来完成,有很多方法可以做到,如果你使用 pandas例如,您可以使用 this .

然后,您应该使用partial_fit 来训练,而不是使用fit

关于python - 有没有办法减少小批量 kmeans 的内存使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43352548/

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