2012-04-14 4 views
0

Я написал код в python для реализации алгоритма кластеризации DBSCAN. Мой набор данных состоит из пользователей 14k с каждым пользователем, представленным 10 функциями. Я не могу решить, что именно сохранить в качестве значения Min_samples и epsilon в качестве входных данных Как мне это решить? Мера сходства - это евклидово расстояние. (Отсюда становится еще труднее решать.) Любые указатели?Определение входных значений алгоритму DBSCAN

+0

Оцените эвклидову расстояние по вашему набору данных. Это работает? Что такое разумный порог подобия? Затем используйте этот порог как epsilon для DBSCAN. –

+0

Как оценить эвклидовое расстояние на моем наборе данных? – Maxwell

+0

@ Anony-Mousse: Я думал об этом: имеет ли смысл нормализовать евклидовы расстояния в пределах 0-1. Теперь расстояния могут увеличиться до примерно 10k +, что затрудняет определение порога. Но я не уверен, как его нормализовать. Есть идеи? – Maxwell

ответ

0

DBSCAN довольно часто трудно оценить его параметры.

Вы думаете об алгоритме OPTICS? В этом случае вам понадобятся только Min_samples, которые соответствуют минимальному размеру кластера.

В противном случае для DBSCAN я делал это в прошлом методом проб и ошибок: попробуйте некоторые значения и посмотрите, что произойдет. Следующее правило состоит в том, что если ваш набор данных шумный, вы должны иметь большее значение, и оно также коррелирует с количеством измерений (в этом случае 10).

Смежные вопросы