0Pricing
Python Academy · Lezione

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.

Progetto di clustering K-Means — illustrazione 1

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.

Progetto di clustering K-Means — illustrazione 10

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

  1. Introduzione agli algoritmi di clustering
  2. Clustering K-Means
  3. Progetto di clustering K-Means
  4. Fondamenti della riduzione della dimensionalità
  5. Applicazione della riduzione della dimensionalità
← Torna a Python Academy