一个聚类(K = 1)可能是K-均值聚类中K值不同的一种有效的、最适合的聚类。在scikit中的"silhouette_score“(v0.23.1)似乎不适用于一个集群,并且会产生一个意外的错误。
下面是要复制的代码:
import numpy as np from sklearn.metrics import silhouette_samples, silhouette_score X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]) kmeans = KMeans(n_clusters=2, random_state=0).fit(X) labels = kmeans.predict(X) print(labels) print(silhouette_score(X, labels)) # 2 clusters works