Основанный на плотности алгоритм для кластеризации данных
clusterDBSCAN
точки данных кластеров, принадлежащие P - размерное пространство признаков с помощью основанной на плотности пространственной кластеризации приложений с шумом (DBSCAN) алгоритм. Кластеризирующийся алгоритм присваивает точки, которые являются друг близко к другу в пространстве признаков к одному кластеру. Например, радиолокационная система может возвратить несколько обнаружений расширенной цели, которые близко расположены в области значений, углу и Доплере. clusterDBSCAN
присвоения эти обнаружения к одному обнаружению.
Алгоритм DBSCAN принимает, что кластеры являются плотными областями в пространстве данных, разделенном областями более низкой плотности и что все плотные области имеют подобную плотность.
Чтобы измерить плотность в точке, алгоритм считает количество точек данных в окружении точки. Окружением является P - размерный эллипс (гиперэллипс) в пространстве признаков. Радиусы эллипса заданы P - вектор ε. ε может быть скаляром, в этом случае, гиперэллипс становится гиперсферой. Расстояния между точками в пространстве признаков вычисляются с помощью Евклидовой метрики расстояния. Окружение называется ε-neighborhood. Значение ε задано Epsilon
свойство. Epsilon
может или быть скаляр или P - вектор:
Вектор используется, когда различные размерности в пространстве признаков имеют различные модули.
Скаляр применяет то же значение ко всем размерностям.
Кластеризация запускается путем нахождения всех базовых точек. Если точка имеет достаточное число точек в его ε-neighborhood, точка называется базовой точкой. Минимальное число точек, требуемое для точки стать базовой точкой, установлено MinNumPoints
свойство.
Остающиеся точки в ε-neighborhood базовой точки могут быть самими базовыми точками. В противном случае они - пограничные точки. Все точки в ε-neighborhood называются непосредственно плотностью, достижимой от базовой точки.
Если ε-neighborhood базовой точки содержит другие базовые точки, точки в ε-neighborhoods всего базового слияния точек вместе, чтобы сформировать объединение ε-neighborhoods. Этот процесс продолжается, пока больше базовых точек не может быть добавлено.
Все точки в объединении ε-neighborhoods являются плотностью, достижимой от первой базовой точки. На самом деле все точки в объединении являются плотностью, достижимой от всех базовых точек в объединении.
Все точки в объединении ε-neighborhoods также называют плотностью, соединенной даже при том, что пограничные точки не обязательно достижимы друг от друга. Кластер является максимальным набором соединенных с плотностью точек и может иметь произвольную форму.
Точки, которые не являются базовыми или пограничные точки, являются шумовыми точками. Они не принадлежат никакому кластеру.
clusterDBSCAN
объект может оценить ε с помощью k - самый близкий соседний поиск, или можно задать значения. Чтобы позволить объектной оценке ε, установите EpsilonSource
свойство к 'Auto'
.
clusterDBSCAN
объект может снять неоднозначность данных, содержащих неоднозначности. Область значений и Доплер являются примерами возможно неоднозначных данных. Установите EnableDisambiguation
свойство к true
снять неоднозначность данных.
К кластерным обнаружениям:
Создайте clusterDBSCAN
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
создает clusterer
= clusterDBSCANclusterDBSCAN
объект, clusterer
, объект со значениями свойств по умолчанию.
создает clusterer
= clusterDBSCAN(Name,Value)clusterDBSCAN
объект, clusterer
, с каждым заданным свойством Name
установите на заданный Value
. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1
, Value1
..., NameN
, ValueN
). Любые незаданные свойства берут значения по умолчанию. Например,
clusterer = clusterDBSCAN('MinNumPoints',3,'Epsilon',2, ... 'EnableDisambiguation',true,'AmbiguousDimension',[1 2]);
EnableDisambiguation
набор свойств к истине и AmbiguousDimension
установите на [1,2]
.[
также возвращает альтернативный набор кластерных идентификаторов, idx
,clusterids
] = clusterer(X
)clusterids
, для использования в phased.RangeEstimator
и phased.DopplerEstimator
объекты. clusterids
присваивает уникальный идентификатор каждой шумовой точке.
[___] = clusterer(
автоматически оценочный эпсилон из матрицы входных данных, X
,update
)X
, когда update
установлен в true
. Оценка использует поиск-NN k, чтобы создать набор поисковых кривых. Для получения дополнительной информации смотрите Оценочный Эпсилон. Оценкой является в среднем L новые значения Эпсилона, где L задан в EpsilonHistoryLength
Чтобы включить этот синтаксис, установите EpsilonSource
свойство к 'Auto'
, опционально установите MaxNumPoints
свойство, и также опционально набор EpsilonHistoryLength
свойство.
Чтобы использовать объектную функцию, задайте Систему object™ как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
[1] Эстер М., Kriegel H.-P., Сандер Дж. и Сюй X "Основанный на плотности Алгоритм для Обнаружения Кластеров в Больших Пространственных Базах данных с Шумом". Proc. 2-я Международная Конференция по Открытию Знаний и Анализу данных, Портленду, OR, Нажатию AAAI, 1996, стр 226-231.
[2] Эрих Шуберт, Йорг Сандер, Мартин Эстер, Ханс-Питер Кригель и Сяовэй Сюй. 2017. "DBSCAN, Пересмотренный, Пересмотренный: Почему и Как Необходимо (Все еще) Использовать DBSCAN". Система Базы данных Сделки ACM 42, 3, Статья 19 (июль 2017), 21 страница.
[3] Доминик Келлнер, Йенс Клаппштайн и Клаус Дитмейер, "Основанный на сетке DBSCAN для кластеризации расширенных объектов в радарных данных", 2 012 IEEE интеллектуальный симпозиум транспортных средств.
[4] Томас Вагнер, Райнхард Фегер и Андреас Штелцер, "Быстрый Основанный на сетке Алгоритм Кластеризации для Измерений Области значений/Доплера/DOA", Продолжения 13-й европейской Радарной Конференции.
[5] Mihael Ankerst, Маркус М. Бреуниг, Ханс-Питер Кригель, Йорг Сандер, "OPTICS: то, чтобы приказывать, чтобы точки идентифицировали кластеризирующуюся структуру", Proc. ACM SIGMOD ’99 международных конференций по управлению данными, Филадельфийским PA, 1999.
clusterDBSCAN.discoverClusters
| clusterDBSCAN.estimateEpsilon
| clusterDBSCAN.plot