Реализация пользовательского агломеративного алгоритма с нуля

Я знаю об алгоритмах агломеративной кластеризации, о том, как они начинают с каждой точки данных как отдельных кластеров, а затем объединяют точки для формирования кластеров.

Теперь у меня есть nразмерное пространство и несколько точек данных со значениями в каждом из этих измерений.Я хочу сгруппировать две точки/кластеры на основе таких бизнес-правил, как:

  • Сгруппировать две точки c1 и c2, если расстояние между кластерами по измерению 1 < T1, а расстояние по измерению 2 < T2, ... и расстояние по размерности n < Tn.
  • Если выполняется правило для измерения 1 и правило для измерения 2, то сгруппируйте их, не беспокоясь о других измерениях...

.... и подобных пользовательских правилах.

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

Существует ли платформа/программное обеспечение, позволяющее мне реализовать этот способ определения пользовательских метрик расстояния, а затем реализовать агломеративную кластеризацию? Конечно, агломерационная кластеризация останавливается, когда бизнес-правила не выполняются в любой момент времени, и в конце мы имеем кластеры, сформированные в n-мерном пространстве.

Спасибо Абхишек С

6
задан Виталий Олегович 27 May 2012 в 13:54
поделиться