【发布时间】:2017-09-07 05:33:23
【问题描述】:
我正在处理一个包含 500 个维度的 640 万个样本的数据集,我正在尝试将其分组为 200 个集群。我被限制为 90GB 的 RAM,当我尝试从 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)
它没有通过聚类。
【问题讨论】:
-
对不起,我之前的回答是错误的。我错过了你没有使用 GPU,但实际上用完了主 RAM。
-
我确实有 GPU 访问权限。你认为我可以在不占用太多内存的情况下重写它以在 GPU 上工作吗?
-
不,您要做的是延迟加载数据文件,即。 e.一块一块的。我知道这是可能的,而且不是很困难,但不幸的是,现在不记得具体细节了。
标签: python scikit-learn k-means bigdata