У меня есть набор документов, я просто хочу сгруппировать связанные документы. В настоящее время я использую векторный файл новостей Google (GoogleNews-vectors-negative300.bin), и с помощью этого векторного файла я получаю вектор, и я использую алгоритм WMD (Word Mover Distance), чтобы получить расстояние между двумя документами. Теперь я хочу интегрировать это с кластеризацией K-средних. По сути, я хочу переопределить функцию расчета расстояния в KMeans. Как я могу это сделать? Любое предложение приветствуется. Заранее спасибо.
В алгоритме кластеризации K-Means (sklearn), как переопределить евклидово расстояние на некоторое расстояние
Ответы (1)
Хотя теоретически возможно реализовать k-средние с другими мерами расстояния, это не рекомендуется — ваш алгоритм может перестать сходиться. Более подробное обсуждение можно найти, например. на StackExchange. Вот почему в scikit-learn нет других показателей расстояния.
Я бы предложил использовать, например. иерархическая кластеризация, где вы можете подключить произвольную функцию расстояния.
person
Lukasz Tracewski
schedule
03.12.2018