kmeans聚类算法python,包括两种聚类评估
时间: 2023-10-16 10:07:31 浏览: 100
kmeans聚类算法原理分析、代码实现
5星 · 资源好评率100%
K-means是一种常见的聚类算法,可以用Python实现。以下是一个示例代码:
```python
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score, calinski_harabasz_score
# 读取数据
data = pd.read_csv('data.csv')
# 创建KMeans模型
kmeans = KMeans(n_clusters=3, random_state=0)
# 训练模型
kmeans.fit(data)
# 预测数据
labels = kmeans.predict(data)
# 聚类评估
silhouette_score = silhouette_score(data, labels)
calinski_harabasz_score = calinski_harabasz_score(data, labels)
print('Silhouette Score:', silhouette_score)
print('Calinski Harabasz Score:', calinski_harabasz_score)
```
其中,`n_clusters`参数指定聚类的数量,`random_state`参数指定随机数种子以便可重复性。聚类评估可以通过`silhouette_score`和`calinski_harabasz_score`函数进行计算,分别计算轮廓系数和Calinski-Harabasz指数。轮廓系数用于评估聚类的质量,值越接近1越好;Calinski-Harabasz指数用于评估聚类的分离度,值越大越好。
阅读全文