内存要求ķk-意味着聚类

机器算法验证 聚类 k-均值
2022-03-22 16:56:45

谁能告诉我影响均值聚类的内存需求的因素并解释一下吗?k

2个回答

像 Lloyds 这样的算法可以仅使用浮点值内存使用来实现。MacQueens k-means 算法应该只需要内存。k(2d+1)k(d+1)

但是,由于大多数用户都想知道哪个点属于哪个集群,因此您发现的几乎每个实现都将使用内存。O(n+kd)

换句话说,k-means 使用的内存本质上是输出数据大小

我最近在 scipy.cluster.vq.py 中发现了一个关于 k-means 算法的 scipy 实现的注释

Notes
-----
This could be faster when number of codebooks is small, but it
becomes a real memory hog when codebook is large. It requires
N by M by O storage where N=number of obs, M = number of
features, and O = number of codes.