Как работает sklearn.clusters.KMeans.lables_ в Python 3? - PullRequest
0 голосов
/ 30 января 2019

Я работаю с частью плохо документированного кода, и, пытаясь избежать проблемы с файлом .pkl, который вызывает у меня горе, я столкнулся с другой проблемой со sklearn.Код выглядит следующим образом:

km = KMeans(algorithm=None, copy_x=True, init='k-means++', max_iter=300,
n_clusters=5, n_init=10, n_jobs=1, precompute_distances=True,
random_state=None, tol=0.0001, verbose=0)
clusters = km.labels_.tolist()   

И, насколько мне известно, он должен обеспечивать способ сортировки документов в кластеры.Однако вместо этого это дает мне:

AttributeError: KMeans не имеет атрибута lables_

Это очень странно, потому что в онлайн документации sklearn он показывает атрибут с именемlables_.Вот ссылка на сайт: scikit-doc

Я понятия не имею, почему это не работает.Я предполагаю, что есть проблема совместимости с Python 3.7 (это то, что я использую).Также существует вероятность, что «km» по какой-то причине не работает, что, скорее всего, связано с файлом .pkl, из которого я его получил.Погуглив, я не нашел никого другого, кто бы говорил об этом AttributeError, поэтому я думаю, что проблема может быть в «км», а не в «кластерах», я просто надеялся, что кто-то здесь узнает.

1 Ответ

0 голосов
/ 30 января 2019

Вам необходимо применить fit() к вашим данным, прежде чем получить доступ к labels_.Смотрите ниже код:

km = KMeans(algorithm=None, copy_x=True, init='k-means++', max_iter=300,
n_clusters=5, n_init=10, n_jobs=1, precompute_distances=True,
random_state=None, tol=0.0001, verbose=0)

km.fit(data)

clusters = km.labels_.tolist()   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...