В настоящее время я использую алгоритм DBSCAN для кластеризации своих данных, но у меня возникла некоторая проблема. Как вы знаете, DBSCAN нужно 3 параметра перед запуском. Первый - это эпсилон, который является диапазоном поиска ключевой точки. Во-вторых, это MinPts или вы можете сказать минимальное количество точек для формирования кластера. Третий - это набор данных.
DBSCAN начать работу, прыгнув в случайную точку. Эту точку можно назвать основной точкой кандидата. С помощью эпсилона мы оцениваем, есть ли точки Minpts-1 в радиусе эпсилона. Мы получили точное MinPts
очко в этом эпсилоне. Таким образом, мы можем сформировать кластер. Затем мы вызовем функцию expandcluster
, чтобы расширить кластер, все точки в радиусе эпсилона снова будут выполнять поиск с радиусом эпсилона, поэтому кластер станет больше. Этот шаг останавливается, пока кластер не может быть расширен. Мы перейдем к другой точке, которая не назначена в кластере. Если точка имеет радиус меньше MinPts
внутри радиуса, мы пометим эту точку как шум и продолжим указывать точку и находим новый кластер.
Я использую алгоритм кластеризации dbscan
Проблема в том, что у меня есть набор данных, и я установил MinPts 4, Eps 65,5. Я получил 3 кластера, но 1 кластер имел только 3 балла. Если мы посмотрим на теорию, этого не должно быть.
Спасибо, что пришли на этот вопрос, и я надеюсь, что смогу найти ответ ...