聚类
内容
聚类¶
|
可扩展的 KMeans 用于聚类 |
|
应用并行谱聚类 |
The dask_ml.cluster
模块实现了几种用于聚类无标签数据的算法。
谱聚类¶
谱聚类在样本间的亲和矩阵上找到一个低维嵌入。然后对嵌入的数据集进行聚类,通常使用KMeans。
通常,谱聚类算法在扩展性方面表现不佳。当样本数量较大时,计算 \(n\_samples \times n\_samples\) 亲和矩阵的成本变得过高。为此,已经提出了几种算法来解决这一限制。
在 dask-ml
中,我们使用 Nyström 方法来近似大型亲和矩阵。这涉及从整个训练集中采样 n_components
行。对于这个子集( \(n\_components \times n\_components\) )和这个子集与数据其余部分( \(n\_components \times (n\_samples - n\_components)\) )之间的亲和度进行精确计算。我们避免了直接计算其余的亲和矩阵。
设 \(S\) 为我们的 \(n imes n\) 亲和矩阵。我们可以将其重写为
其中 \(A\) 是采样的 \(n\_components\) 的 \(n \times n\) 亲和矩阵,\(B\) 是样本与数据集中其余部分之间的 \(n \times (n - n\_components)\) 亲和矩阵。我们不直接计算 \(C\),而是用 \(B^T A^{-1} B\) 来近似它。
参见 谱聚类基准测试 ,以了解如何展示 dask_ml.cluster.SpectralClustering
在样本数量上的扩展性。