Progetto di clustering K-Means
Applicazione a un dataset reale.
Progetto di clustering K-Means è una lezione Python Academy gratuita su CoddyKit. Questa è la lezione 3 di 5. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Python Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Python Academy include 5 lezioni in totale.
Progetto di clustering K-Means
Progetto di clustering K-Means
In questo progetto applicheremo il clustering K-Means a un dataset reale: la segmentazione dei clienti. L'obiettivo è raggruppare i clienti in base alle loro abitudini di spesa.

Panoramica del dataset
Panoramica del dataset
Il dataset contiene le seguenti colonne:
- ID cliente: Identificatore univoco per ogni cliente.
- Età: Età del cliente.
- Reddito annuale: Reddito annuale in migliaia di dollari.
- Punteggio di spesa: Punteggio assegnato in base al comportamento del cliente e alle sue abitudini di spesa (1–100).
Passaggio 1: importazione del dataset e delle librerie
Passaggio 1: importazione del dataset e delle librerie
Inizieremo importando le librerie necessarie e caricando il dataset:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())Passaggio 2: pre-elaborazione dei dati
Passaggio 2: pre-elaborazione dei dati
Selezioneremo le caratteristiche rilevanti per il clustering e, se necessario, normalizzeremo i dati. Per questo progetto useremo Reddito annuale e Punteggio di spesa:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Passaggio 3: determinazione del numero ottimale di cluster
Passaggio 3: determinazione del numero ottimale di cluster
Usiamo il metodo del gomito per trovare il numero ottimale di cluster, tracciando la somma dei quadrati all'interno dei cluster (WCSS) per diversi valori di K:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()Passaggio 4: applicazione del clustering K-Means
Passaggio 4: applicazione del clustering K-Means
In base al metodo del gomito, scegliamo il numero ottimale di cluster (ad esempio, K=5) e adattiamo il modello K-Means:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())Passaggio 5: visualizzazione dei cluster
Passaggio 5: visualizzazione dei cluster
Possiamo tracciare i cluster in uno spazio 2D per osservarne la separazione:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()Passaggio 6: interpretazione dei cluster
Passaggio 6: interpretazione dei cluster
Ogni cluster rappresenta un gruppo di clienti con abitudini di spesa simili. Ad esempio:
- Cluster 1: Reddito elevato, spesa elevata.
- Cluster 2: Reddito basso, spesa bassa.
- Cluster 3: Reddito moderato, spesa elevata.
Sfide del clustering nel mondo reale
Sfide del clustering nel mondo reale
Sebbene il clustering sia potente, le applicazioni nel mondo reale devono affrontare sfide come:
- Dataset ad alta dimensionalità.
- Dati rumorosi o incompleti.
- Interpretare i risultati dei cluster in modo significativo.
Riepilogo e prossimi passaggi
Riepilogo e prossimi passaggi
In questo progetto abbiamo:
- Esplorato un dataset reale.
- Applicato il clustering K-Means e visualizzato i risultati.
- Interpretato i cluster per comprendere il comportamento dei clienti.
Nel prossimo passaggio apprenderemo tecniche di riduzione della dimensionalità come PCA e t-SNE.

Domande Frequenti
La lezione «Progetto di clustering K-Means» è gratuita?
Sì — il testo completo di «Progetto di clustering K-Means» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Python Academy, passa a CoddyKit PRO. Il corso Python Academy include 5 lezioni in totale.
Cosa imparerò in «Progetto di clustering K-Means»?
Applicazione a un dataset reale. Eserciti Python Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Python Academy?
Non è richiesta alcuna esperienza precedente. Python Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 5.
Quanto tempo richiede la lezione «Progetto di clustering K-Means»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Python Academy?
Sì. Ogni lezione Python Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Introduzione agli algoritmi di clustering
- Clustering K-Means
- Progetto di clustering K-Means
- Fondamenti della riduzione della dimensionalità
- Applicazione della riduzione della dimensionalità