Оценка параметров в DBSCAN

Мне нужно найти естественно встречающиеся классы существительных, основанные на их распределении с различным предлогом (например, agentive, instrumental, time, place и т. д.). Я попытался использовать кластеризацию k-средних, но с меньшей помощью, это не сработало хорошо, было много перекрытий над классами, которые я искал (вероятно, из-за неглубокой формы классов и случайной инициализации в k-средних).

теперь я работаю над использованием DBSCAN, но мне трудно понять значение epsilon и значение мини-точек в этом алгоритме кластеризации. Могу ли я использовать случайные значения или мне нужно их вычислить. Кто-нибудь может помочь. Особенно с Эпсилоном, по крайней мере, как его вычислить, если понадобится.

1 ответов


использовать знаний для выбора параметров. Эпсилон-это радиус. Вы можете думать об этом как о минимальном размере кластера.

очевидно, что случайные величины не очень хорошо. В качестве эвристики вы можете попытаться взглянуть на график K-расстояния; но он также не является автоматическим.

первое, что нужно сделать в любом случае-это выберите хорошую функцию расстояния для вашего сведения. И выполните соответствующую нормализацию.

Что касается" minPts " это снова зависит от ваших данных и должен. Одному пользователю может понадобиться совсем другое значение. И конечно minPts и Эпсилон связаны. Если вы удвоите Эпсилон, вам примерно нужно будет увеличить minPts на 2^d (для евклидова расстояния, потому что именно так увеличивается объем гиперсферы!)

Если вы хотите много мелких и мелких подробных кластеров, выберите низкий minpts. Если вы хотите больше и меньше кластеров (и больше шума), используйте больший minpts. Если ты не хочешь ... любые кластеры вообще, выберите minpts больше, чем размер вашего набора данных...