Python 聚类分析:二维散点图
2024.02.18 20:51浏览量:18简介:在Python中,使用聚类分析对二维散点图进行可视化是一种常见的方法。我们将使用scikit-learn库中的KMeans算法进行聚类,并使用matplotlib库来绘制散点图。
首先,我们需要导入所需的库。在Python中,我们可以使用以下代码导入所需的库:
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeans
接下来,我们需要生成一些二维数据。我们可以使用numpy库中的随机数生成器来生成数据。例如,我们可以生成100个随机的二维点:
# 生成100个随机的二维点data = np.random.rand(100, 2)
现在我们有了数据,我们可以使用KMeans算法进行聚类。我们将设置聚类的数量为3,这意味着我们将数据点分成三个簇:
# 使用KMeans算法进行聚类kmeans = KMeans(n_clusters=3)kmeans.fit(data)
现在我们已经得到了聚类的结果,我们可以将其绘制在散点图上。我们将使用matplotlib库中的scatter函数来绘制散点图,并使用不同的颜色来表示不同的簇:
# 绘制散点图plt.scatter(data[:, 0], data[:, 1], c=kmeans.labels_, cmap='viridis')
为了更好地理解聚类的结果,我们可以在散点图上添加聚类的中心点。我们可以使用KMeans对象的clustercenters属性来获取聚类的中心点:
# 添加聚类的中心点plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], c='red', s=100)
最后,我们可以显示散点图。在显示散点图之前,我们可以添加一个标题和坐标轴标签:
# 显示散点图plt.title('Two-Dimensional Clustering')plt.xlabel('Dimension 1')plt.ylabel('Dimension 2')plt.show()
完整的代码如下所示:
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeans# 生成100个随机的二维点data = np.random.rand(100, 2)# 使用KMeans算法进行聚类kmeans = KMeans(n_clusters=3)kmeans.fit(data)# 绘制散点图plt.scatter(data[:, 0], data[:, 1], c=kmeans.labels_, cmap='viridis')# 添加聚类的中心点plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], c='red', s=100)# 显示散点图plt.title('Two-Dimensional Clustering')plt.xlabel('Dimension 1')plt.ylabel('Dimension 2')plt.show()

发表评论
登录后可评论,请前往 登录 或 注册