基于sklearn实现kmeans聚类并绘制图像
时间: 2024-10-10 09:05:53 浏览: 28
基于scikit-learn库实现K-means聚类算法并绘制结果图像通常包括以下几个步骤:
1. **导入所需库**:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
```
2. **准备数据**:
如果需要从已有数据集加载数据,比如Iris数据集:
```python
from sklearn.datasets import load_iris
data = load_iris().data
```
或者手动创建随机数据:
```python
n_samples, n_features = 100, 2
X = np.random.rand(n_samples, n_features)
```
3. **初始化KMeans模型**:
```python
k = 3 # 需要指定簇的数量
kmeans = KMeans(n_clusters=k)
```
4. **拟合数据**:
```python
kmeans.fit(X)
```
5. **预测聚类**:
```python
labels = kmeans.predict(X)
```
6. **可视化结果**:
```python
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=300, c='red', label='Centroids')
plt.title('K-Means Clustering Result')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.legend()
plt.show()
```
这里我们用散点图展示样本按照聚类标签颜色分类,并将质心(cluster centers)表示为红色大圆点。
阅读全文