ZBLOG

from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score for i in range(3, 10): km = KMeans(n_clusters=i, init="k-means++", max_iter=100, n_init=1) km.fit(bow.toarray()) score...

这段代码是使用scikit-learn库进行K均值聚类并计算轮廓系数(silhouette score)的部分。根据错误信息,问题出在样本数量上。

在计算轮廓系数时,sample_size参数应该传入一个整数值而不是浮点数。你可以将 len(data)/2 替换为 int(len(data)/2) 来确保传入整数类型的样本数量。

修正后的代码如下所示:

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score

for i in range(3, 10):
    km = KMeans(n_clusters=i,
                init="k-means++",
                max_iter=100,
                n_init=1)
    km.fit(bow.toarray())
    score = silhouette_score(bow.toarray(),
                             km.labels_,
                             metric="euclidean",
                             sample_size=int(len(data)/2))
    print(f"K = {i}: {score:.3f}")

请尝试运行修改后的代码,看看问题是否解决了。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=15000

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?