Kmeans代码及其可视化

本文探讨了KMeans聚类算法的实现过程,并重点展示了算法的可视化效果,帮助读者更好地理解KMeans的工作原理。
摘要由CSDN通过智能技术生成
import numpy as np
import os
import matplotlib
import matplotlib.pyplot as plt
import warnings

warnings.filterwarnings('ignore')

plt.rcParams['axes.labelsize'] = 14
plt.rcParams['xtick.labelsize'] = 12
plt.rcParams['ytick.labelsize'] = 12
np.random.seed(42)

from sklearn.datasets import make_blobs

# 指定五个中心,构造数据
blob_centers = np.array(
    [[0.2, 2.3],
     [-1.5, 2.3],
     [-2.8, 1.8],
     [-2.8, 2.8],
     [-2.8, 1.3]])
blob_std = np.array([0.4, 0.3, 0.1, 0.1, 0.1])  # 发散程度不那么大
# 样本个数,中心点,发散程度
x, y = make_blobs(n_samples=2000,
                  centers=blob_centers,
                  cluster_std=blob_std,
                  random_state=7)


# print(x,y)
def plot_clusters(x, y=None):
    plt.scatter(x[:, 0], x[:, 1], c=y, s=1)
    plt.xlabel('$x_1$', fontsize=14)
    plt.ylabel('$x_2$', fontsize=14, rotation=0)


#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
k-means聚类算法可视化可以通过将数据点按照聚类结果进行颜色标记来实现。首先,我们需要导入相应的库,如`matplotlib.pyplot`和`sklearn.cluster.KMeans`。然后,我们可以使用`KMeans`类来对数据进行聚类,并将聚类结果可视化。在可视化过程中,我们可以使用不同的颜色来表示不同的聚类。这样我们就可以直观地看到数据点是如何被分组的。 下面是一个示例代码,展示了如何使用k-means聚类算法对数据进行可视化: ```python import matplotlib.pyplot as plt from sklearn.cluster import KMeans # 创建样本数据 X = [[1, 2], [1, 4], [2, 2], [2, 4], [3, 1], [4, 2], [4, 4]] # 使用k-means进行聚类 kmeans = KMeans(n_clusters=2) kmeans.fit(X) # 得到聚类结果 labels = kmeans.labels_ # 绘制聚类结果的可视化图形 plt.scatter([x for x in X], [x for x in X], c=labels) plt.xlabel('x') plt.ylabel('y') plt.title('k-means Clustering Visualization') plt.show() ``` 在这个示例中,我们创建了一个包含7个样本数据点的数据集`X`,然后使用k-means聚类算法将这些数据点分为2个聚类。最后,我们使用`plt.scatter`函数将数据点按照聚类结果进行绘制,并添加了一些辅助信息如x轴标签、y轴标签和标题等。 通过运行这段代码,我们可以得到一个聚类结果的可视化图形,其中不同聚类的数据点被标记为不同的颜色。这样我们可以清晰地看到数据点是如何被分组的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python——K-means聚类分析及其结果可视化](https://blog.csdn.net/qq_44969615/article/details/105363302)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值