DBSCAN и пограничные пункты

Говорят, что DBSCAN не соответствует пограничным точкам и зависит от того, какому кластеру он назначает точку первой. Существует ли вариант DBSCAN, который учитывает количество точек, к которым приближается граничная точка (eps) в каждом кластере, когда он хочет назначить граничную точку одному из кластеров?


person user650585    schedule 15.06.2018    source источник


Ответы (2)


В тех случаях, когда это имеет значение, количество точек обычно будет равно 1 для двух кластеров в каждом.

Лучшим тай-брейком будет расстояние, но даже оно может иметь ничью.

Это тривиальная модификация, легко реализуемая при постобработке: для каждой граничной точки найдите ближайшую точку ядра и используйте эту метку.

Однако имеет ли это значение?

Кластеризация никогда не бывает идеальной. И мы говорим здесь о редком случае, когда "лучшее" (для довольно специального определения "лучшего", основанное на двух жестких пороговых значениях) назначение обычно дает 0,000 разницы в конечном результате.

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

person Has QUIT--Anony-Mousse    schedule 16.06.2018

Немного поздно, но все же: прежде всего, граничная точка должна быть самой центральной точкой, потому что должен быть хотя бы один дополнительный объект в ее эпсилон-окрестности, из которого она достижима напрямую по плотности. В противном случае он не был бы подключен к кластеру.

По определению результат DBSCAN является детерминированным относительно. основные и шумовые точки, но не граничные точки, поэтому: если граничная точка является плотностью, достижимой из двух кластеров, это действительно зависит от обработки или вашей реализации, какому кластеру она будет назначена.

person Elvira Siegel    schedule 09.02.2020