以下是使用 Python 语言实现 `KMeans` 和 `K-Medoids`(`K-中心点`)算法对给定数据点进行聚类并绘制结果的示例代码: ```python import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn_extra.cluster import KMedoids # 定义数据点 data = np.array([[2, 10], [2, 5], [8, 4], [5, 8], [7, 5], [6, 4], [1, 2], [4, 9]]) # KMeans 聚类 kmeans = KMeans(n_clusters=3).fit(data) cluster_centers_kmeans = kmeans.cluster_centers_ labels_kmeans = kmeans.labels_ # K-Medoids 聚类 kmedoids = KMedoids(n_clusters=3).fit(data) cluster_centers_kmedoids = kmedoids.cluster_centers_ labels_kmedoids = kmedoids.labels_ # 绘制 KMeans 结果 plt.figure(figsize=(10, 5)) plt.subplot(1, 2, 1) plt.scatter(data[:, 0], data[:, 1], c=labels_kmeans) plt.scatter(cluster_centers_kmeans[:, 0], cluster_centers_kmeans[:, 1], marker='x', s=200, c='red') plt.title('KMeans Clustering') # 绘制 K-Medoids 结果 plt.subplot(1, 2, 2) plt.scatter(data[:, 0], data[:, 1], c=labels_kmedoids) plt.scatter(cluster_centers_kmedoids[:, 0], cluster_centers_kmedoids[:, 1], marker='x', s=200, c='red') plt.title('K-Medoids Clustering') plt.show() ``` 运行上述代码,将会绘制出 `KMeans` 和 `K-Medoids` 算法的聚类结果分布图,其中用 `x` 标记簇中心点。 [2024-10-30 15:35:39 | AI写代码神器 | 482点数解答]