首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >K均值聚类算法中如何寻找silhouette_score

K均值聚类算法中如何寻找silhouette_score
EN

Stack Overflow用户
提问于 2020-07-30 08:45:18
回答 1查看 189关注 0票数 2

我正在为K均值聚类算法寻找silhouette_score .实际上,我正在使用其他4种算法,我必须找到所有四种算法中的silhouette_score。我试图首先找到k均值集群,并为所有其他集群使用相同的代码。

代码语言:javascript
复制
import pandas as pd
import numpy as np

from sklearn.datasets import load_wine
df = load_wine()

from sklearn.preprocessing import MinMaxScaler

X_scaled_data = MinMaxScaler().fit_transform(df.data)

import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=3).fit(X_scaled_data)

from sklearn.metrics import silhouette_score

silhouette_avg = silhouette_score(X_scaled_data, kmeans.labels_)
print("For n_clusters =", 3, "The average silhouette_score is :", silhouette_avg)

以下是错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-30 09:00:38

你发布的代码示例对我有用。

但是,正如错误消息所述,预测标签中的唯一标签(n_labels)数量不超过1,这意味着算法将所有点分配给同一个集群。如果您查看文档的剪影-得分,您会注意到在本例中没有定义度量:

注意,只有标签数为2 <= n_labels <= n_samples - 1时才定义轮廓系数。

也许可以考虑用不同的标准。这里是一些例子。或者,在计算剪影得分之前,检查预测中唯一标签的数量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63169471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档