【发布时间】:2017-11-03 00:27:11
【问题描述】:
我的数据形成了一个 1000 x 1e9 形状的稀疏矩阵。我想使用 K-means 将 1000 个示例聚类为 10 个聚类。
矩阵非常稀疏,小于1/1e6的值。
我的笔记本电脑有 16 个 RAM。我在 scipy 中尝试了稀疏矩阵。不幸的是,矩阵使聚类过程需要比我更多的内存。有人可以建议一种方法吗?
运行以下测试sn-p时我的系统崩溃了
import numpy as np
from scipy.sparse import csr_matrix
from sklearn.cluster import KMeans
row = np.array([0, 0, 1, 2, 2, 2, 3, 3, 4, 5, 5, 5, 6, 6, 7, 8, 8, 8])
col = np.array([0, 2, 2, 0, 1, 2] * 3)
data = np.array([1, 2, 3, 4, 5, 6] * 3)
X = csr_matrix((data, (row, col)), shape=(9, 1e9))
resC = KMeans(n_clusters=3).fit(X)
resC.labels_
感谢任何有用的建议。
【问题讨论】: