需要使用python代码实现k均值聚类的底层逻辑,请给出一段完整的代码来实现k均值聚类
时间: 2024-09-15 22:14:09 浏览: 41
K-means聚类是一种无监督学习算法,用于将数据集分成几个簇,每个簇内的点相似度较高。以下是使用Python和scikit-learn库实现K-means聚类的基本代码:
```python
from sklearn.cluster import KMeans
import numpy as np
# 假设我们有二维数据
def kmeans_cluster(data, n_clusters):
# 初始化KMeans模型,设置簇的数量
kmeans = KMeans(n_clusters=n_clusters)
# 对数据进行拟合
kmeans.fit(data)
# 获取聚类中心(每个簇的质心)
centroids = kmeans.cluster_centers_
# 获取每个样本所属的簇标签
labels = kmeans.labels_
return centroids, labels
# 示例数据
example_data = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]])
# 定义簇数
num_clusters = 3
centroids, labels = kmeans_cluster(example_data, num_clusters)
print("Centroids:", centroids)
print("Labels for each data point:", labels)