k-means均值聚类python实现
时间: 2024-09-21 16:12:15 浏览: 73
K-Means文本聚类python实现
5星 · 资源好评率100%
k-means是一种常用的无监督机器学习算法,用于将数据集划分为预设数量的簇(clusters)。在Python中,我们可以使用sklearn库中的KMeans模块来实现。以下是简单的步骤:
1. 导入所需的库:
```python
from sklearn.cluster import KMeans
import numpy as np
```
2. 准备数据集(假设`data`是一个二维数组,包含n行m列的数据点):
```python
X = data
```
3. 初始化k-means模型并设置聚类数`k`:
```python
k = 3 # 聚类数量
kmeans = KMeans(n_clusters=k)
```
4. 拟合数据:
```python
kmeans.fit(X)
```
这一步会计算每个数据点到各个簇中心的距离,并将其分配给最近的那个簇。
5. 获取聚类结果:
```python
labels = kmeans.labels_ # labels[i]表示第i个数据点所属的簇
centroids = kmeans.cluster_centers_ # 簇的质心
```
`labels`包含了每个数据点的聚类标签,而`centroids`则是形成的k个簇的中心位置。
6. 可视化结果(如果数据可视化可行):
```python
import matplotlib.pyplot as plt
plt.scatter(X[:,0], X[:,1], c=labels, cmap='viridis') # 绘制散点图,颜色由簇标签决定
plt.scatter(centroids[:,0], centroids[:,1], s=300, c='red', marker='x') # 标记簇中心
plt.show()
```
阅读全文