объект list не может быть вызван с silhouette_score - PullRequest
0 голосов
/ 26 апреля 2020
kmeans = KMeans(n_clusters = k).fit(df)
preds = kmeans.fit_predict(df)
silhouette_score.append(silhouette_score(df, preds, metric = 'euclidean'))

TypeError: объект списка не вызывается

Я не уверен, почему

1 Ответ

1 голос
/ 26 апреля 2020

Возможно, вы где-то в своем коде создали переменную списка с именем silhouette_score, которую вы сейчас пытаетесь добавить. Таким образом, вы перезаписали существующий метод scikit-learn silhouette_score, поэтому ваш скрипт не может его найти сейчас, рассматривает silhouette_score список и при попытке выполнить

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

выдает ошибку, как и ожидалось, потому что списки действительно не могут быть вызваны.

Вы должны никогда создавать переменные с именами, идентичными именам существующих функций и методов. Измените имя переменной silhouette_score на другое, сбросьте и перезапустите сценарий, и все будет в порядке.

...