基于sklearn的cluster包中提供的方法实现kmeans聚类算法。
时间: 2024-09-30 22:10:51 浏览: 22
在scikit-learn库中,K-means聚类是一种常用的无监督学习方法,用于将数据集划分为预设数量的类别。以下是基于`sklearn.cluster.KMeans`实现K-means聚类的基本步骤:
1. **导入必要的库**:
```python
from sklearn.cluster import KMeans
import numpy as np
```
2. **加载或准备数据**:
确保数据是数值型并且已经归一化或标准化,因为K-means对输入敏感。
3. **创建KMeans实例并设置参数**:
```python
n_clusters = 3 # 要确定的簇的数量
kmeans = KMeans(n_clusters=n_clusters)
```
4. **拟合数据**:
```python
X = ... # 你的数据,例如二维数组
kmeans.fit(X)
```
5. **获取聚类结果**:
```python
labels = kmeans.labels_ # 获取每个样本所属的簇标签
centroids = kmeans.cluster_centers_ # 获取各个簇的质心
```
6. **可视化结果** (如果数据维度低):
```python
import matplotlib.pyplot as plt
plt.scatter(X[:,0], X[:,1], c=labels, cmap='viridis')
plt.scatter(centroids[:,0], centroids[:,1], color='red', marker='x')
plt.show()
```
阅读全文