详细内容或原文请订阅后点击阅览
谱聚类解释:特征向量如何揭示复杂的簇结构
了解为什么谱聚类优于 K-means后谱聚类解释:特征向量如何揭示复杂的聚类结构首先出现在走向数据科学上。
来源:走向数据科学和特征向量是线性代数中的关键概念,在数据科学和机器学习中也发挥着重要作用。之前,我们讨论了如何使用协方差矩阵的特征值和特征向量进行降维。
今天,我们将讨论另一个有趣的应用:如何使用特征值和特征向量来执行谱聚类,它适用于复杂的聚类结构。
在本文中,我们将探讨特征值和特征向量如何使谱聚类成为可能,以及为什么该方法可以优于传统的 K 均值。
我们将从一个简单的可视化开始,它将向您展示谱聚类的重要性,并激励您继续学习如何使用特征值和特征向量执行谱聚类。
谱聚类的动机
学习谱聚类的一个好方法是将其与 K-means 等传统聚类算法在 K-means 难以表现良好的数据集上进行比较。
在这里,我们使用人工生成的两月数据集,其中簇是弯曲的。 Scikit-learn make_moons 算法在二维空间中生成两个卫星。然后,我们使用 Scikit-learn KMeans 和 SpectralClustering 算法来执行 K 均值和谱聚类。最后,我们比较聚类可视化。
制作月球数据
# 制作月球数据
将 matplotlib.pyplot 导入为 plt
从 sklearn.datasets 导入 make_moons
X, y = make_moons(n_samples=400, 噪声=0.05,
随机状态=0)
plt.figure(figsize=[4.2, 3])plt.scatter(X[:,0], X[:,1], s=20)plt.title("原始月球数据")plt.savefig("月球数据.png")原始数据集有两个弯曲的簇结构,称为卫星。这就是为什么我们称之为月球数据。将 K-means 应用于月球数据K-means 经常错误地对月球数据进行分组(它错误地混合了数据点)。将光谱聚类应用于月球数据什么是谱聚类?执行谱聚类背后的直觉如下:
