GMM之后轮廓系数法代码 python
时间: 2025-02-02 20:07:37 浏览: 53
### 使用轮廓系数法评估 GMM 聚类效果
为了评估高斯混合模型 (GMM) 的聚类效果,可以使用轮廓系数法。下面是一个完整的 Python 示例代码,展示了如何利用 `sklearn` 库中的函数来完成这一任务。
```python
from sklearn.mixture import GaussianMixture
from sklearn.metrics import silhouette_score
import numpy as np
import matplotlib.pyplot as plt
# 创建模拟数据集
np.random.seed(0)
X = np.r_[np.random.randn(500, 2) + [2, 2],
np.random.randn(500, 2) + [-2, -2]]
# 定义并训练GMM模型
gmm = GaussianMixture(n_components=2, random_state=42).fit(X)
# 预测类别标签
labels = gmm.predict(X)
# 计算轮廓系数得分
score = silhouette_score(X, labels)
print(f'Silhouette Score: {score:.3f}')
# 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=labels, s=40, cmap='viridis')
plt.title('Gaussian Mixture Model Clustering with Silhouette Coefficient Evaluation')
plt.show()
```
上述代码首先创建了一个简单的二维数据集作为输入样本;接着定义了两个组件的 GMM 模型,并对其进行拟合;之后预测每个观测值所属的最佳簇编号;最后计算这些分配给定的数据点集合的整体质量度量——即轮廓分数[^1]。
阅读全文
相关推荐












