'list'对象不能用silhouette_score调用。

问题描述 投票:-1回答:1
kmeans = KMeans(n_clusters = k).fit(df)
preds = kmeans.fit_predict(df)
silhouette_score.append(silhouette_score(df, preds, metric = 'euclidean'))

类型错误:'list'对象不可调用。

我不知道为什么

machine-learning scikit-learn cluster-analysis k-means
1个回答
1
投票

你可能在你的代码中创建了一个名为 silhouette_score的方法,现在您可以尝试将其追加。这样一来,你就覆盖了现有的 scikit-learn 方法。silhouette_score,所以你的脚本现在找不到它,认为是 silhouette_score 列表,而当试图执行

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

如期抛出一个错误,因为列表确实是不可调用的。

你应该 从来没有 创建与现有函数和方法名称相同的变量。改变您的 silhouette_score 变量为其他变量,重新设置& 重新运行你的脚本,你就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.