Как извлечь кластеры с помощью OPTICS (пакет R - dbscan или альтернативы)

Это может быть смесь вопроса R и вопроса об алгоритме. Вопрос касается как OPTICS в целом, так и реализации R оптики в пакете "dbscan" ( https://cran.r-project.org/web/packages/dbscan/dbscan.pdf).

Моей основной причиной перехода от использования DBSCAN к OPTICS было то, что у моего набора данных есть кластеры с переменной плотностью, и они имеют неправильную форму. OPTICS создает график достижимости, но для моего случая использования более интересной является выделение кластеров. В оригинальной статье описано автоматическое извлечение кластеров, которое не является единственной точкой отсечения для eps. ( http://fogo.dbs.ifi.lmu.de/Publikationen/Papers/OPTICS.pdf).

Итак, мои две части qn: 1) Есть ли способ использовать пакет R таким образом для автоматического извлечения? 2) Есть ли реализация OPTICS, которая поддерживает это (python, в другом месте)?

1 ответ

1) Да! В пакете dbscan есть функция для извлечения оптических кластеров с переменной плотностью. ?dbscan::extractXi()

Экстракты кластеров экстракта, как это определено в Ankerst et al (1999), основаны на крутизне графика достижимости. Одно из объяснений параметра xi состоит в том, что он классифицирует кластеры по изменению относительной плотности кластеров. Используемый алгоритм изначально был добавлен платформой ELKI, но содержит ряд исправлений.

См. https://cran.r-project.org/web/packages/dbscan/vignettes/dbscan.pdf для подробного описания методов и примеров.

Другие вопросы по тегам