Algoritmo di clustering con il numero massimo di cluster

0

Sto cercando un algoritmo di clustering (idealmente basato sulla densità) che mi permetta di specificare il numero massimo di cluster (ma non il numero esatto). Tutti i punti devono essere assegnati a un cluster, quindi non posso semplicemente ignorare i cluster più piccoli / meno densi.

Qualcuno può suggerire un algoritmo che potrebbe essere adatto a questo scopo, o pensare ad un modo per adattare un algoritmo esistente?

DbScan e le varianti non sono appropriate, in quanto non hanno modo di limitare il numero di cluster. Inoltre non classificheranno ogni punto.

K-Means richiede che venga specificato il valore esatto di k, e inoltre non è basato sulla densità, quindi funziona male con i miei dati.

    
posta Yair Halberstadt 18.07.2018 - 15:44
fonte

1 risposta

0

In un algoritmo basato sulla densità come DBSCAN o OPTICS non ha senso limitare il numero di cluster, poiché i campioni non sono assegnati a cluster specifici ma sono collegati a campioni nel loro vicinato. Ogni componente connesso di campioni forma quindi un cluster.

In linea di principio, potreste sintonizzare l'epsilon della distanza di quartiere oi MinPts della densità di vicinato per cambiare i cluster individuati. Tuttavia, la sintonizzazione di questi parametri in entrambe le direzioni non ha una chiara connessione al numero di cluster. Per esempio. l'aumento del parametro epsilon potrebbe aumentare il numero di cluster trovando un altro cluster meno denso nel rumore o diminuire il numero di cluster unendo due cluster vicini.

Questo non è un vincolo di quegli algoritmi specifici, ma un vincolo di clustering basato sulla densità gerarchico / agglomerativo in generale. Si noti che la variante OPTICS di DBSCAN assegnerà tutti i punti di input a un cluster, sebbene i campioni debolmente collegati che rappresentano il rumore siano solitamente tagliati in una fase di postprocessing.

    
risposta data 22.07.2018 - 14:25
fonte

Leggi altre domande sui tag