Esistono diversi modi per utilizzare il clustering nel machine learning, dalle esplorazioni iniziali di un set di dati al monitoraggio dei processi in corso. Puoi utilizzarlo nell'analisi esplorativa dei dati con un nuovo set di dati per conoscere le tendenze, i modelli e gli outlier sottostanti. In alternativa, puoi disporre di un set di dati più grande che deve essere suddiviso in più set di dati, oppure ridotto utilizzando la riduzione della dimensionalità. In questi casi, il clustering può essere un passaggio della pre-elaborazione.
Esempi di cluster possono includere generi musicali, gruppi di utenti differenti, segmenti chiave di una segmentazione di mercato, tipi di traffico di rete su un cluster di server, gruppi di amici su un social network o molti altri tipi di categorie. Il processo di clustering può utilizzare solo una funzione dei dati oppure tutte le funzioni presenti nei dati.
È utile pensare al clustering come al tentativo di trovare raggruppamenti naturali nei dati per vedere quali categorie potrebbero esistere e cosa definisce tali categorie. I cluster possono aiutarti a trovare le relazioni sottostanti tra i punti dati per vedere quali funzioni o caratteristiche sono condivise tra le categorie. A seconda dell'algoritmo di clustering utilizzato, potrebbe essere possibile rimuovere gli outlier dai dati oppure etichettarli come outlier. Il clustering può inoltre essere utile per il rilevamento delle anomalie individuando i punti dati che non sono contenuti all'interno di un cluster o che sono associati solo in modo debole a un cluster e pertanto possono rappresentare un'anomalia nel processo di generazione dei dati.
È inoltre possibile utilizzare il clustering per ridurre la complessità dei set di dati di grandi dimensioni riducendo il numero di dimensioni dei dati. Se noti che le categorie sono definite solo da due o tre funzioni, puoi rimuovere le funzioni estranee oppure utilizzare tecniche di riduzione della dimensionalità come la PCA. Il clustering è inoltre molto utile nella creazione di visualizzazioni dei set di dati per vedere le proprietà emergenti dei dati, nonché la densità e le relazioni tra i cluster.
Talvolta gli algoritmi di clustering vengono distinti in algoritmi di hard clustering, in cui ogni punto dati appartiene a un solo cluster e ha un valore binario che indica se è o non è incluso in un cluster, oppure soft, in cui a ogni punto dati viene assegnata una probabilità di appartenere a ciascun cluster individuato. Non esiste un processo di clustering migliore, sei tu che dovrai scegliere l'approccio più adatto alle tue esigenze e ai dati con cui stai lavorando.