计算上述代码的轮廓系数
时间: 2023-09-11 09:12:25 浏览: 100
要计算K-means聚类的轮廓系数,你可以使用`sklearn`库中的`silhouette_score`函数。下面是计算轮廓系数的示例代码:
```python
import numpy as np
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
# 准备学生成绩数据集
# 假设有5个学生,每个学生有3个特征:数学成绩、语文成绩、英语成绩
X = np.array([[85, 70, 90],
[75, 80, 70],
[95, 85, 95],
[65, 70, 80],
[70, 75, 85]])
# 创建K-means模型并进行聚类
kmeans = KMeans(n_clusters=2) # 设置簇的数量为2
kmeans.fit(X)
# 计算轮廓系数
silhouette_avg = silhouette_score(X, kmeans.labels_)
print("聚类的轮廓系数为:", silhouette_avg)
```
在这个示例中,我们首先准备了学生成绩的数据集 `X`,并创建了一个`KMeans`对象进行聚类。
然后,我们使用`silhouette_score`函数来计算轮廓系数。该函数需要传入原始数据集 `X` 和聚类结果的标签 `kmeans.labels_`,它会返回整个数据集的平均轮廓系数。
最后,我们将计算得到的轮廓系数输出到控制台。
需要注意的是,轮廓系数的取值范围是[-1, 1],其中1表示聚类结果非常好,-1表示聚类结果非常差。
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
阅读全文