
11.9
评估聚类模型
|
203
11.9
评估聚类模型
问题描述
使用无监督学习对数据进行聚类,现在希望评估聚类模型的性能。
解决方案
对该问题的简单回答是,我们可能无法评估聚类模型的性能,至少不能按预想的方式评估。
一种可选的方式是使用轮廓系数(
silhouette coefficient
)。轮廓系数可以用来衡量聚类的
质量 :
import numpy as np
from sklearn.metrics import silhouette_score
from sklearn import datasets
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
#
生成特征矩阵
features, _ = make_blobs(n_samples = 1000,
n_features = 10,
centers = 2,
cluster_std = 0.5,
shuffle = True,
random_state = 1)
#
使用
KMeans
方法对数据聚类,以预测其分类
model = KMeans(n_clusters=2, random_state=1).fit(features)
#
获取预测的分类
target_predicted = model.labels_
#
评估模型
silhouette_score(features, ...