Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Implementazione su un Dataset Fittizio | Sezione
Fondamenti di Apprendimento Non Supervisionato

bookImplementazione su un Dataset Fittizio

Ora verrà illustrato un esempio pratico di applicazione del clustering K-means. Per questo scopo, verrà utilizzato un dataset fittizio. I dataset fittizi sono insiemi di dati generati artificialmente, spesso impiegati per scopi dimostrativi e di apprendimento. Consentono di controllare le caratteristiche dei dati e osservare chiaramente come si comportano algoritmi come K-means.

Dummy Dataset

Per questa dimostrazione, verrà creato un dataset fittizio utilizzando la funzione make_blobs(). Questa funzione è ideale per generare gruppi di punti dati in modo visivamente chiaro e controllabile. I dati saranno generati con le seguenti caratteristiche:

  • Number of samples: verrà creato un dataset con 300 punti dati;

  • Number of centers: il numero di veri cluster sarà impostato a 4. Questo significa che i dati fittizi sono progettati per avere quattro gruppi distinti;

  • Cluster standard deviation: la dispersione dei punti dati all'interno di ciascun cluster sarà controllata, impostandola a 0.60 per cluster relativamente compatti;

  • Random state: verrà utilizzato un valore fisso di random_state per la riproducibilità, garantendo che la generazione dei dati sia coerente ad ogni esecuzione del codice.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

Implementazione di K-Means

Con questi dati fittizi creati, verrà quindi applicato l'algoritmo K-means. Verrà analizzato come K-means tenta di suddividere questi dati in cluster secondo i principi illustrati nei capitoli precedenti.

K-means può essere inizializzato e addestrato come segue in Python:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

Per determinare il numero ottimale di cluster per questi dati, verranno impiegati i metodi discussi nei capitoli precedenti:

  • WSS method: verrà calcolato il Within-Sum-of-Squares per diversi valori di K e analizzato il grafico del gomito per identificare un possibile valore ottimale di K;

  • Silhouette score method: verrà calcolato il Silhouette Score per diversi valori di K ed esaminato il grafico delle silhouette e i punteggi medi per trovare il valore di K che massimizza la qualità dei cluster.

Infine, le visualizzazioni avranno un ruolo fondamentale nell'implementazione. Verranno visualizzati:

  • I dati fittizi stessi, per osservare la struttura intrinseca dei cluster;

  • Il grafico WSS, per identificare il punto di gomito;

  • Il grafico delle silhouette, per valutare la qualità dei cluster per diversi valori di K;

  • I cluster finali di K-means sovrapposti ai dati fittizi, per verificare visivamente i risultati del clustering e il valore ottimale di K scelto.

question mark

Quale parametro nella funzione make_blobs() controlla la dispersione dei punti dati all'interno di ciascun cluster

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 11

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

bookImplementazione su un Dataset Fittizio

Scorri per mostrare il menu

Ora verrà illustrato un esempio pratico di applicazione del clustering K-means. Per questo scopo, verrà utilizzato un dataset fittizio. I dataset fittizi sono insiemi di dati generati artificialmente, spesso impiegati per scopi dimostrativi e di apprendimento. Consentono di controllare le caratteristiche dei dati e osservare chiaramente come si comportano algoritmi come K-means.

Dummy Dataset

Per questa dimostrazione, verrà creato un dataset fittizio utilizzando la funzione make_blobs(). Questa funzione è ideale per generare gruppi di punti dati in modo visivamente chiaro e controllabile. I dati saranno generati con le seguenti caratteristiche:

  • Number of samples: verrà creato un dataset con 300 punti dati;

  • Number of centers: il numero di veri cluster sarà impostato a 4. Questo significa che i dati fittizi sono progettati per avere quattro gruppi distinti;

  • Cluster standard deviation: la dispersione dei punti dati all'interno di ciascun cluster sarà controllata, impostandola a 0.60 per cluster relativamente compatti;

  • Random state: verrà utilizzato un valore fisso di random_state per la riproducibilità, garantendo che la generazione dei dati sia coerente ad ogni esecuzione del codice.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

Implementazione di K-Means

Con questi dati fittizi creati, verrà quindi applicato l'algoritmo K-means. Verrà analizzato come K-means tenta di suddividere questi dati in cluster secondo i principi illustrati nei capitoli precedenti.

K-means può essere inizializzato e addestrato come segue in Python:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

Per determinare il numero ottimale di cluster per questi dati, verranno impiegati i metodi discussi nei capitoli precedenti:

  • WSS method: verrà calcolato il Within-Sum-of-Squares per diversi valori di K e analizzato il grafico del gomito per identificare un possibile valore ottimale di K;

  • Silhouette score method: verrà calcolato il Silhouette Score per diversi valori di K ed esaminato il grafico delle silhouette e i punteggi medi per trovare il valore di K che massimizza la qualità dei cluster.

Infine, le visualizzazioni avranno un ruolo fondamentale nell'implementazione. Verranno visualizzati:

  • I dati fittizi stessi, per osservare la struttura intrinseca dei cluster;

  • Il grafico WSS, per identificare il punto di gomito;

  • Il grafico delle silhouette, per valutare la qualità dei cluster per diversi valori di K;

  • I cluster finali di K-means sovrapposti ai dati fittizi, per verificare visivamente i risultati del clustering e il valore ottimale di K scelto.

question mark

Quale parametro nella funzione make_blobs() controlla la dispersione dei punti dati all'interno di ciascun cluster

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 11
some-alt