Cluster Analysis in R: una guida completa di cui avrai mai bisogno [2022]

Pubblicato: 2021-01-04

Se hai mai messo piede nel mondo della scienza dei dati o di Python, avresti sentito parlare di R.

Sviluppato come progetto GNU, R è sia un linguaggio che un ambiente progettato per la grafica e il calcolo statistico. È simile al linguaggio S e può quindi essere considerato come la sua implementazione.

Come linguaggio, R è altamente estensibile. Fornisce una varietà di tecniche statistiche e grafiche come l'analisi di serie temporali, la modellazione lineare, la modellazione non lineare, il clustering, la classificazione, i test statistici classici.

È una di queste tecniche che esploreremo più a fondo ed è il clustering o l'analisi dei cluster!

Sommario

Che cos'è l'analisi dei cluster?

In parole povere, il clustering è un metodo di segmentazione dei dati in base al quale i dati vengono partizionati in più gruppi sulla base della somiglianza.

Come viene valutata la somiglianza? Sulla base di misure di distanza tra le osservazioni. Queste possono essere misure di distanza euclidee o basate sulla correlazione.

L'analisi dei cluster è uno dei metodi più popolari e in un certo senso intuitivi di analisi dei dati e data mining. È l'ideale per i casi in cui sono presenti dati voluminosi e dobbiamo estrarne approfondimenti. In questo caso, i dati in blocco possono essere suddivisi in sottoinsiemi o gruppi più piccoli.

I piccoli gruppi che si formano e derivano dall'intero set di dati sono noti come cluster. Questi si ottengono eseguendo una o più operazioni statistiche. Ciascun cluster, sebbene contenga elementi diversi, condivide le seguenti proprietà:

  1. I loro numeri non sono noti in anticipo.
  2. Si ottengono effettuando un'operazione statistica.
  3. Ogni cluster contiene oggetti simili e con caratteristiche comuni.

Anche senza il nome "fantasia" di analisi dei cluster, lo stesso è molto utilizzato nella vita di tutti i giorni.

A livello individuale, facciamo gruppi di cose che dobbiamo mettere in valigia quando partiamo per una vacanza. Prima i vestiti, poi gli articoli da toeletta, poi i libri e così via. Creiamo categorie e poi le affrontiamo individualmente.

Le aziende utilizzano anche l'analisi dei cluster quando effettuano la segmentazione delle loro liste di posta elettronica e classificano i clienti in base all'età, al background economico, al precedente comportamento di acquisto, ecc.

L'analisi dei cluster viene anche definita "apprendimento automatico non supervisionato" o riconoscimento di modelli. Senza supervisione perché non stiamo cercando di classificare campioni particolari solo in campioni particolari. Apprendimento perché l'algoritmo impara anche a raggruppare.

3 metodi di clustering

Abbiamo tre metodi che vengono utilizzati più spesso per il clustering. Questi sono:

  1. Clustering gerarchico agglomerato
  2. Clustering relazionale/metodo Condorcet
  3. k significa raggruppamento

1. Clustering gerarchico agglomerato

Questo è il tipo più comune di clustering gerarchico. L'algoritmo per AHC funziona in modo bottom-up. Inizia considerando ogni punto dati come un cluster a sé stante (chiamato foglia).

Quindi combina insieme i due cluster che sono i più simili. Questi nuovi e più grandi cluster sono chiamati nodi. Il raggruppamento viene ripetuto fino a quando l'intero set di dati non si riunisce in un unico grande cluster chiamato radice.

Visualizzare e disegnare ogni fase del processo AHC porta alla generazione di un albero chiamato dendrogramma.

L'inversione del processo AHC porta a raggruppamenti divisivi e alla generazione di cluster.

Il dendrogramma può anche essere visualizzato come:

Fonte

In conclusione, se vuoi un algoritmo che sia in grado di identificare piccoli cluster, scegli AHC. Se ne vuoi uno che sia in grado di identificare cluster di grandi dimensioni, il metodo di clustering divisivo dovrebbe essere la tua scelta.

2. Metodo di clustering relazionale/Condorcet

"Clustering by Similarity Aggregation" è un altro nome per questo metodo. Funziona come segue:

Vengono confrontati i singoli oggetti a coppie che costituiscono il clustering globale. Ai vettori m(A, B) e d(A, B) viene assegnata una coppia di valori individuali (A, B). Nel vettore b(A, B) sia A che B hanno gli stessi valori, mentre nel vettore d(A, B) entrambi hanno valori diversi).

Si dice che i due valori individuali di A e B seguano il criterio di Condorcet come segue:

c(A, B) = m(A, B)- d(A, B)

Per un valore individuale come A e un cluster chiamato S, il criterio di Condorcet vale:

c(A,S) = Σ io c(A,B io )

La somma complessiva è Bi ∈ S.

Essendo soddisfatte le condizioni di cui sopra, vengono costruiti i cluster della forma c(A, S). A può avere il valore minimo di 0 ed è il più grande di tutti i punti dati nel cluster.

Infine, viene calcolato il criterio globale di Condorcet. Ciò avviene effettuando una sommatoria dei singoli data point presenti in A e del cluster SA che li contiene.

I passaggi precedenti vengono ripetuti fino a quando il criterio di Condorcet globale non migliora o viene raggiunto il maggior numero di iterazioni.

3. k-mezzi di raggruppamento

Questo è uno degli algoritmi di partizionamento più popolari. Tutti i dati disponibili (chiamati anche punti dati/osservazioni a volte) saranno raggruppati solo in questi cluster. Ecco una ripartizione di come procede l'algoritmo:

  1. Seleziona k cluster a caso. Queste k righe significheranno anche trovare k centroidi per ciascun cluster.
  2. Ciascun punto dati viene quindi assegnato al baricentro più vicino ad esso.
  3. Man mano che vengono assegnati sempre più punti dati, i centroidi vengono ricalcolati come la media di tutti i punti dati (in corso) aggiunti.
  4. Continua ad assegnare punti dati e spostando il baricentro secondo necessità.
  5. Ripetere i passaggi 3 e 4 finché nessun punto dati cambia cluster.

La distanza tra un punto dati e un baricentro viene calcolata utilizzando uno dei seguenti metodi:

  1. Distanza euclidea
  2. Distanza di Manhattan
  3. Minlowski distanza

La più popolare di queste, la distanza euclidea, è calcolata come segue:

Ogni volta che viene eseguito l'algoritmo, come risultato vengono restituiti diversi gruppi. La prima assegnazione alla variabile k è del tutto casuale. Questo rende k-mean molto sensibile alla prima scelta. Di conseguenza, diventa quasi impossibile ottenere lo stesso raggruppamento a meno che il numero di gruppi e di osservazioni complessive non sia piccolo.

Come assegnare un valore a All'inizio, assegneremo casualmente un valore a k che detterà la direzione in cui si dirigono i risultati. Per garantire che venga fatta la scelta migliore, è utile tenere a mente la seguente formula:

Qui, n è il numero di punti dati nel set di dati.

Indipendentemente dalla presenza di una formula, il numero di cluster dipenderebbe fortemente dalla natura del set di dati, dal settore e dall'attività a cui appartiene, ecc. Pertanto, è consigliabile prestare attenzione anche alla propria esperienza e intuizione.

Con la dimensione del cluster errata, il raggruppamento potrebbe non essere altrettanto efficace e può portare a un overfitting. A causa dell'overfitting, i nuovi punti dati potrebbero non essere in grado di trovare un posto nel cluster poiché l'algoritmo ha individuato i piccoli dettagli e tutta la generalizzazione è andata persa.

Applicazioni della Cluster Analysis

Quindi, dove vengono utilizzati esattamente i potenti metodi di clustering? Abbiamo citato brevemente alcuni esempi sopra. Di seguito sono riportati alcuni altri casi:

Medicina e salute

Sulla base dell'età e del corredo genetico dei pazienti, i medici sono in grado di fornire una diagnosi migliore. Questo alla fine porta a un trattamento più vantaggioso e allineato. Nuovi farmaci possono anche essere scoperti in questo modo. Il raggruppamento in medicina è chiamato nosologia.

Sociologia

Nelle sfere sociali, raggruppare le persone in base a dati demografici, età, occupazione, luogo di residenza, ecc. aiuta il governo a far rispettare le leggi e definire politiche adatte a diversi gruppi.

Marketing

Nel marketing, il termine clustering è sostituito da segmentazione/analisi tipologica. Viene utilizzato per esplorare e selezionare potenziali acquirenti di un particolare prodotto. Le aziende quindi testano gli elementi di ciascun cluster per sapere quali clienti mostrano un comportamento pro-retainment.

Profilazione cibernetica

Come input per l'algoritmo di clustering che verrà implementato qui, vengono immesse le pagine Web precedenti a cui un utente ha avuto accesso. Queste pagine Web vengono quindi raggruppate. Alla fine viene generato un profilo dell'utente, basato sulla sua attività di navigazione. Dalla personalizzazione alla sicurezza informatica, questo risultato può essere sfruttato ovunque.

Vedere al dettaglio

I punti vendita traggono vantaggio anche dal raggruppamento dei clienti in base all'età, alle preferenze di colore, alle preferenze di stile, agli acquisti passati, ecc. Questo aiuta i rivenditori a creare esperienze personalizzate e anche a pianificare le offerte future in linea con i desideri dei clienti.

Conclusione

Come è evidente, l'analisi dei cluster è un metodo di grande valore, indipendentemente dal linguaggio o dall'ambiente in cui è implementata. Sia che si desideri ricavare insight, ricavare modelli o ritagliare profili, l'analisi dei cluster è uno strumento molto utile con risultati che possono essere praticamente implementato. La capacità di lavorare con i vari algoritmi di clustering può portare a eseguire analisi dei dati accurate e veramente preziose.

Impara i corsi di scienza dei dati dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Prepararsi per una carriera del futuro

DIPLOMA PG DA IIIT-B, 100+ ORE DI APPRENDIMENTO IN AULA, 400+ ORE DI APPRENDIMENTO ONLINE E SUPPORTO ALLA CARRIERA A 360 GRADI
Per saperne di più