Uma rotina para escolher eps e minPts para DBSCAN

13

O DBSCAN é o algoritmo de cluster mais citado de acordo com a literatura e pode encontrar clusters de formas arbitrários com base na densidade. Ele tem dois parâmetros eps (como raio da vizinhança) e minPts (como vizinhos mínimos para considerar um ponto como ponto central), que eu acredito que depende muito deles.

Existe algum método de rotina ou comumente usado para escolher esses parâmetros?

Mehraban
fonte
1
Observe que existe uma pergunta semelhante no Stack Overflow : Escolhendo eps e minpts para o DBSCAN (R)?
gung - Restabelece Monica

Respostas:

11

Existem muitas publicações que propõem métodos para escolher esses parâmetros.

O mais notável é o OPTICS, uma variação do DBSCAN que acaba com o parâmetro epsilon; produz um resultado hierárquico que pode ser visto aproximadamente como "executando o DBSCAN com todos os epsilon possíveis".

Para minPts, sugiro não confiar em um método automático, mas no conhecimento do seu domínio .

Um bom algoritmo de armazenamento em cluster possui parâmetros que permitem personalizá-lo de acordo com suas necessidades.

Um parâmetro que você ignorou é a função de distância. A primeira coisa a fazer para o DBSCAN é encontrar uma boa função de distância para a sua aplicação . Não confie na distância euclidiana sendo a melhor para todas as aplicações!

Possui QUIT - Anony-Mousse
fonte
Embora o usuário possa escolher a função de distância, duvido que seja um parâmetro.
Mehraban
1
Claro que é. É tanto um parâmetro quanto a função do kernel para qualquer outro método kernelizado (você pode realmente fazer o kernel do DBSCAN trivialmente dessa maneira) e, na minha experiência, outras distâncias, como Canberra ou Clark, podem melhorar significativamente os resultados .
Quit - Anony-Mousse
Não subestimo a influência da função de distância no clustering, mas acho que de alguma forma geral, não é específico do dbscan ou de qualquer outro algoritmo de clustering; enquanto eps e minPts são explicitamente parâmetros do dbscan.
Mehraban
1
Também existem muitos algoritmos não baseados em distância. E quando você considera minPts o mesmo que, por exemplo, kpara a classificação de vizinho mais próximo, pode dizer o mesmo para o parâmetro minPts. Eu acho que a principal diferença é que, para a distância, há um padrão "muitas vezes" sensível: distância euclidiana; enquanto que para minPts, o valor será específico dos dados.
Quit - Anony-Mousse
1
O OPTICS em si não fornecerá partições, mas uma ordem de cluster. Para obter partições, use a extração xi descrita no documento OPTICS. Veja cada documento de variantes para entender as diferenças.
Saiu - Anony-Mousse