Переопределение метрики расстояния в алгоритмах кластеризации - PullRequest
2 голосов
/ 02 апреля 2012

Я пытаюсь реализовать алгоритм кластеризации K-средних по 3 измерениям.Теперь требуется, чтобы я хотел гибко определять собственную метрику расстояния для любого конкретного измерения.Например, в измерении 1 я хотел бы определить простую евклидову меру расстояния, в измерениях 2 я хочу определить свою собственную пользовательскую меру расстояния и т. Д.

Существует ли реализация JAVA для K-среднихкластеризация, которая позволяет мне переопределить метрику расстояния по любому измерению по моему выбору?

Спасибо Abhishek S

Ответы [ 2 ]

3 голосов
/ 02 апреля 2012

Посмотрите на ELKI . Это позволяет использовать произвольные функции расстояния с большинством алгоритмов. Включая k-средние, хотя это только частично разумно (k-средство фактически рассчитано для евклидова расстояния и может прекратить сходиться с другими расстояниями, когда среднее значение больше не минимизирует расстояния!)

На самом деле, у людей ELKI даже есть Учебник по добавлению пользовательской функции расстояния , которая в значительной степени отвечает на ваш вопрос, верно?

1 голос
/ 02 апреля 2012

Попробуйте Weka . Он имеет простую реализацию K-средних и поддерживает все виды атрибутов (не только числовые), поэтому я предполагаю, что они содержат какой-то API, который позволяет подключать вашу дистанционную реализацию.

...