Хотя я видел довольно много вопросов, связанных с этим, но на самом деле я не получаю ответа, потому что я новичок в использовании кластеризации nltk. Мне действительно нужно базовое объяснение для новичка для кластеризации, особенно для векторного представления для кластеризации кластеров KLLK и как его использовать. У меня есть список таких слов, как [кошка, собака, котенок, щенок и т. Д.] И два других списка таких слов, как [плотоядное животное, травоядное животное, домашнее животное и т. Д.] И [млекопитающее, домашнее животное и т. Д.]. Я хочу иметь возможность группировать последние два списка слов на основе первого, используя первый как средство или центроид. Я попытался, я получил AssertionError следующим образом:nltk k-означает кластеризацию или k-средство с чистым питоном
clusterer = cluster.KMeansClusterer(2, euclidean_distance, initial_means=means)
File "C:\Python27\lib\site-packages\nltk\cluster\kmeans.py", line 64, in __init__
assert not initial_means or len(initial_means) == num_means
AND
print clusterer.cluster(vectors, True)
File "C:\Python27\lib\site-packages\nltk\cluster\util.py", line 55, in cluster
self.cluster_vectorspace(vectors, trace)
File "C:\Python27\lib\site-packages\nltk\cluster\kmeans.py", line 82, in cluster_vectorspace
self._cluster_vectorspace(vectors, trace)
File "C:\Python27\lib\site-packages\nltk\cluster\kmeans.py", line 113, in _cluster_vectorspace
index = self.classify_vectorspace(vector)
File "C:\Python27\lib\site-packages\nltk\cluster\kmeans.py", line 137, in classify_vectorspace
dist = self._distance(vector, mean)
File "C:\Python27\lib\site-packages\nltk\cluster\util.py", line 118, in euclidean_distance
diff = u - v
TypeError: unsupported operand type(s) for -: 'numpy.ndarray' and 'numpy.ndarray'
Я думаю, что есть что-то, что я имею в виду в векторном представлении. Базовый пример векторного представления и примерного кода будет высоко оценен. Любое решение с использованием nltk или чистого python будет оценено по достоинству. Заранее благодарю за ваш добрый ответ
Не могли бы вы напомнить о некоторых из этих вопросов/ответов, касающихся этого, пожалуйста? :) – arturomp
Если вы сравниваете строки, вы не должны использовать хеминг или левенштайн вместо евклидова? – Akavall