from sklearn.cluster import KMeans
import numpy as np

# Dati di esempio: 6 punti nello spazio 2D (coordinate x, y)
# Nota: NON forniamo etichette/categorie ai dati -> apprendimento NON supervisionato
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])

# Creiamo il modello K-Means chiedendo di trovare 2 gruppi (cluster)
# random_state=42 fissa il seed casuale per ottenere risultati riproducibili
kmeans = KMeans(n_clusters=2, random_state=42)

# Addestriamo il modello: l'algoritmo analizza i dati e trova da solo
# la struttura sottostante, senza che gli venga detto "questo è giusto/sbagliato"
kmeans.fit(X)

# Stampiamo l'etichetta di cluster assegnata a ciascun punto (0 oppure 1)
# L'ordine corrisponde all'ordine dei punti in X
print(kmeans.labels_)