sklearn对mnist手写体数据进行kmeans分类代码实现
时间: 2023-06-11 10:08:11 浏览: 113
以下是使用Scikit-learn对MNIST手写数字数据集进行KMeans聚类的示例代码:
```python
from sklearn.cluster import KMeans
from sklearn.datasets import load_digits
import matplotlib.pyplot as plt
# 载入数据集
digits = load_digits()
# 取出数据集中的图片数据
data = digits.data
# 设置KMeans聚类的参数
kmeans = KMeans(n_clusters=10, random_state=42)
# 训练KMeans模型
kmeans.fit(data)
# 取出聚类中心(即数字0-9的代表图片)
cluster_centers = kmeans.cluster_centers_
# 展示聚类中心
fig, ax = plt.subplots(2, 5, figsize=(8, 3))
centers = [center.reshape((8, 8)) for center in cluster_centers]
for axi, center in zip(ax.flat, centers):
axi.set(xticks=[], yticks=[])
axi.imshow(center, interpolation='nearest', cmap=plt.cm.binary)
plt.show()
```
首先,我们导入了KMeans模型和MNIST数据集。然后,我们从数据集中获取图片数据,并设置KMeans聚类的参数。接下来,我们使用数据训练KMeans模型,并取出聚类中心。最后,我们展示了聚类中心的图像。
阅读全文