给定的图像数据集,可视化并输出聚类性能代码
时间: 2024-11-04 21:13:43 浏览: 17
在Python中,我们可以使用一些流行的数据可视化库和机器学习库来进行图像数据集的可视化以及聚类效果的评估。以下是一个简单的例子,使用Scikit-learn库进行K-means聚类,并使用Matplotlib展示数据点分布:
```python
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import load_digits
# 加载样本数据集,这里以digits为例
digits = load_digits()
X = digits.data
y = digits.target
# 设置聚类数目
n_clusters = 10
# 创建KMeans实例并拟合数据
kmeans = KMeans(n_clusters=n_clusters)
kmeans.fit(X)
# 获取聚类标签
labels = kmeans.labels_
# 可视化原始图像和聚类结果
fig, axs = plt.subplots(2, n_clusters, figsize=(4 * n_clusters, 6), sharex=True, sharey=True)
for i in range(n_clusters):
cluster_data = X[labels == i]
axs[0, i].imshow(cluster_data.reshape((8, 8)), cmap='gray')
axs[0, i].axis('off')
# 展示每个簇的中心点
cluster_centers = kmeans.cluster_centers_[i].reshape((8, 8))
axs[1, i].imshow(cluster_centers, cmap='gray')
axs[1, i].set_title(f'Cluster {i + 1} Center')
axs[1, i].axis('off')
plt.tight_layout()
plt.show()
阅读全文