K-means聚类算法python实例
时间: 2024-10-22 19:15:24 浏览: 36
K-means是一种常用的无监督学习聚类算法,它将数据集划分为K个互不相交的簇,每个簇内的数据点彼此相似,而簇与簇之间差异较大。以下是使用Python的sklearn库进行K-means聚类的一个简单示例:
```python
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
# 假设我们有二维数据
X = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6],
[9, 11], [10, 9], [12, 10], [14, 8], [13, 8]])
# 创建KMeans模型并设置簇的数量为3
kmeans = KMeans(n_clusters=3)
# 训练模型
kmeans.fit(X)
# 预测数据点所属的簇
labels = kmeans.labels_
# 打印聚类中心
centroids = kmeans.cluster_centers_
print("Centroids:")
print(centroids)
# 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='x', color='r')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('K-Means Clustering Result')
plt.show()
```
在这个例子中,我们首先创建了一个KMeans实例,并设定簇数为3。然后通过`fit`方法训练模型,得到每个数据点的聚类标签。最后,我们将聚类中心标记出来,并可视化结果。
阅读全文