猿问

'list' 对象不能用 silhouette_score 调用

kmeans = KMeans(n_clusters = k).fit(df)

preds = kmeans.fit_predict(df)

silhouette_score.append(silhouette_score(df, preds, metric = 'euclidean'))

TypeError:“列表”对象不可调用


我不知道为什么


慕后森
浏览 77回答 1
1回答

狐的传说

您可能在代码中的某处创建了一个名为 的列表变量silhouette_score,现在您尝试将其附加。这样,您已经覆盖了现有的 scikit-learn 方法silhouette_score,因此您的脚本现在找不到它,考虑silhouette_score一个列表,并且在尝试执行时silhouette_score(df, preds, metric = 'euclidean')按预期抛出错误,因为列表确实不可调用。您永远不应该创建名称与现有函数和方法相同的变量。将您的变量名称更改为silhouette_score其他名称,重置并重新运行您的脚本,您应该没问题。
随时随地看视频慕课网APP

相关分类

Python
我要回答