在已经计算出欧式距离的情况下如何用python实现K-means聚类,请给我代码
时间: 2024-02-24 18:00:29 浏览: 73
python实现k-means聚类
3星 · 编辑精心推荐
K-means聚类是一种无监督学习算法,用于将数据集中的数据分为k个不同的类。在已经计算出欧式距离的情况下,可以使用Python的sklearn库来实现K-means聚类。以下是一个示例代码:
``` python
import numpy as np
from sklearn.cluster import KMeans
# 假设存在一个n行m列的矩阵X,其中n表示样本数量,m表示特征数量
# 假设已经计算出每个样本之间的欧式距离,得到一个n*n的距离矩阵D
# 将距离矩阵D作为输入数据进行K-means聚类
# 假设要将数据分为k个不同的类
k = 3
# 初始化K-means模型
kmeans = KMeans(n_clusters=k, random_state=0)
# 训练K-means模型
kmeans.fit(D)
# 获取每个样本所属的类别
labels = kmeans.labels_
# 输出每个类别中心点的坐标
print(kmeans.cluster_centers_)
```
这段代码首先使用sklearn库的`KMeans`函数初始化K-means模型,然后使用`fit`函数训练模型,并使用`labels_`属性获取每个样本所属的类别。最后,使用`cluster_centers_`属性输出每个类别的中心点坐标。其中,距离矩阵`D`可以使用`numpy`库的`array`函数转换为二维数组。
阅读全文