我试图使用scikit-learn的KMeans
算法对一组基于重叠的集合进行聚类。每个集合大约有50万个潜在成员(尽管每个集合本身并不太大)。
据我了解,要使用sklearn的KMeans
实现,我需要将每个集合表示为50万维空间,其中每一列代表一个二进制值。
这对于个人电脑来说是否太大了?有没有更有效的方法来执行这个操作?
回答:
我对你的数据结构不是100%清楚,但如果你有一个50万个样本 x N个集合的数组,且大部分(约95%以上)是稀疏的,我认为不会有太大问题。即使是密集的,50万 x 50个float64也大约是200MB?
更好的问题可能是“欧几里得距离真的是衡量我的集合之间距离的好方法吗”,我认为。