Algoritmo di clustering basato sulla distanza

3

Quindi, ho un centro di imballaggio A . E ho n punti sparsi per A . Chiamiamoli i 1 , i 2 ... i n .

Ho una soglia massima di distanza, chiamata D .

Il mio compito è quello di spezzare quei punti n in gruppi di massimo m ogni punto. Ogni gruppo non può superare il m punti, in modo tale che una persona che inizia da A e che va a tutti i punti appartenenti a un particolare gruppo viaggi per una distanza ottimizzata.

Ad esempio, A - > i 1 - > i 4 - > i 10 - > A < = D

Quello che ho descritto sopra è un problema di TSP. Attualmente, ciò che ho fatto è suddividerli in cluster usando l'algoritmo K-means e quindi suddividerli manualmente in più gruppi in modo che ogni gruppo non possa avere più di% puntim.

C'è un approccio migliore a questo problema?

In breve, sto cercando un algoritmo di clustering in cui:

  1. Ogni cluster non può superare un determinato numero di punti.
  2. Il clustering avviene sulla distanza (latitudine / longitudine nel mio caso).
posta Sandeep Verma 26.09.2015 - 00:23
fonte

2 risposte

2

link

Questa è una vasta area di ricerca, voglio dire definire se si desidera utilizzare solo i centroidi rispetto ai medoidi cambia la complessità dei propri algoritmi. La risposta semplice è che ci sono molti modi documentati. Senza dati è difficile da definire correttamente. Se potessi iniziare con un grafico realizzato su MATLAB o su Octave libero, potresti trovare un approccio simile adatto.

Octave è gratuito e contiene un algoritmo k-means.

Ricordo che l'ultimo libro di Kurzweil How To Create a Mind descriveva il suo cluster di riconoscimento vocale se si desiderava un esempio di applicazione per il contesto.

    
risposta data 26.09.2015 - 17:52
fonte
1

Potresti provare un'altra forma di clustering: clustering gerarchico agglomerato .

In particolare, il clustering gerarchico agglomerato inizia con ogni osservazione nel proprio cluster; le coppie di cluster vengono quindi unite mentre ci si sposta nella gerarchia.

Questoalgoritmodiclusteringsiadattabenealrequisitoche:

Eachclustercannotexceedaparticularnumberofpoints

AncheK-significacheilclusteringrichiedeunaconoscenzapreliminare(oun'ideavaga)diK(onumerodicluster),mentrenelclusteringgerarchicononènecessarioilnumerodiclustercomeinput.

TuttiiprincipalisoftwareML/scientificiimplementanoilclusteringgerarchico(ades.Octave funzione di collegamento , Mathematica Agglomerate funzione , SciKit AgglomerativeClustering object ...).

    
risposta data 24.02.2016 - 10:35
fonte

Leggi altre domande sui tag