在上面这段代码的基础上进行修改,使结果可视化
时间: 2024-10-21 09:09:15 浏览: 9
要在上述代码基础上增加可视化部分,我们可以使用matplotlib库来创建散点图,并显示簇的中心和成员。这里假设我们已经有了`clusters`变量表示每个样本所属的簇。下面是修改后的代码段:
```python
import matplotlib.pyplot as plt
def visualize_clusters(data2, centers, clusters):
plt.figure(figsize=(10, 7))
colors = ['red', 'green', 'blue'] # 定义不同的颜色对应不同的簇
for i, center in enumerate(centers):
plt.scatter(*center, color=colors[i], label=f"C{i+1} 中心", marker='x')
for i, sample in enumerate(data2.index):
plt.scatter(*data2.loc[sample, :], c=colors[clusters[i]], alpha=0.5, edgecolor='black', label=None)
plt.xlabel('X1')
plt.ylabel('X2')
plt.title('K-Medoids Clustering Visualization')
plt.legend()
plt.show()
# 可视化结果
visualize_clusters(data2, final_centers, clusters)
```
这段代码会生成一个二维散点图,其中每个簇的中心用不同的大圆圈标记,而每个样本则用小圆点表示,并着色对应其所属的簇。通过这种方式,你可以直观地看到数据的分布及其聚类情况。
阅读全文