Суть метода в разделении множества на кластеры таким образом, чтобы объекты внутри кластеров были более схожи, чем вне его. Мерой сходства является расстояние между объектами. Обычно для нахождения расстояний используют Евклидову метрику. Чем меньше расстояние, тем более схожи объекты.
Если K-means опирается на расстояния между объектами, то DBSCAN на плотность между ними. Идея метода в том, чтобы плотность точек внутри кластера была заметно выше, чем снаружи. Для определения плотности используются два параметра: eps - радиус соседства и minpts - предельное число объектов (соседей) внутри радиуса eps. Если вокруг точки А в радиусе eps находятся не менее minpts объектов, то образуется кластер. Если точка А не имеет объектов в радиусе eps, то такая точка - шум.
Убедитесь, что у вас установлены язык R и Rstudio
Перед запуском необходимо установить пакеты используемые в приложении:
install.packages(c("ggplot2", "ggalt", "ggforce", "DT", "plotly", "shiny", "devtools", "shinycssloaders", "shinydashboard"))
devtools::install_github('itsidorkin/SAA', force = T)
shiny::runGitHub("SAA_shiny_app", "itsidorkin")
Ознакомиться c приложением можно на этих наборах данных.
Скачать и в приложении выбрать file
Скопировать ссылку (например эту) и вставить в url
Имейте в виду, пока в url находится текст, загрузка из файла не осуществляется.
Следите за разделителем элементов (sep) и разделителем десятичного знака (dec). Иногда на странице с графиками могут выводиться ошибки. Проверте еще раз, правильно ли вы указали sep и dec.
Приложение может работать медленно. Особенно на больших объемах данных (особенно DBSCAN). Поэтому учтите это, когда меняете параметры или данные.
Не используйте данные, в которых больше 1000 строк. Это может занять больше времени, чем обычно.
kmean | dbscan |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |