Condivisione della tecnologia

Guida all'apprendimento dell'intelligenza artificiale Machine Learning - K-means Clustering Model Training and Prediction

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Guida all'apprendimento dell'intelligenza artificiale Machine Learning - K-means Clustering Model Training and Prediction

L’intelligenza artificiale (AI) è oggi uno degli argomenti più caldi al mondo e sta cambiando il modo in cui viviamo e lavoriamo. Essendo un ramo importante dell’intelligenza artificiale, l’apprendimento automatico ha mostrato un grande potenziale e valore in vari campi. Nell'apprendimento automatico, il clustering è un algoritmo importante e il clustering K-mean è uno dei metodi classici. In questo blog introdurremo in dettaglio il processo di training e il processo di previsione del modello di clustering K-means e forniremo esempi per illustrare come utilizzare il clustering K-means per eseguire analisi di cluster sui dati.

K-significa modello di clustering

Il clustering K-means è un algoritmo di apprendimento non supervisionato che divide i campioni nel set di dati in K cluster per rendere la distanza tra i campioni nello stesso cluster la più piccola possibile e la distanza tra i diversi cluster la più grande possibile. Nel clustering K-mean, ciascun cluster è rappresentato da un centroide e il clustering viene eseguito in modo iterativo riducendo al minimo la distanza tra i campioni nel cluster e il centroide.

Il processo di clustering K-means può essere approssimativamente suddiviso nei seguenti passaggi:

  1. Selezionare K punti centrali iniziali
  2. Assegnare ciascun campione al cluster con il punto centrale più vicino
  3. Aggiorna il baricentro di ciascun cluster
  4. Ripetere i passaggi 2 e 3 finché l'allocazione dei cluster non cambia più o finché non viene raggiunto il limite superiore del numero di iterazioni.

Il processo di previsione del modello di clustering K-means consiste nell'assegnare nuovi campioni al cluster con il baricentro più vicino.

Processo di training del modello di clustering K-means

In questa parte introdurremo in dettaglio il processo di training del modello di clustering K-means. Per facilitare la spiegazione, utilizzeremo la libreria scikit-learn di Python per la dimostrazione.

Innanzitutto, dobbiamo importare le librerie pertinenti:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
  • 1
  • 2
  • 3
  • 4

Successivamente, generiamo alcuni dati simulati per dimostrare:

X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
  • 1

Possiamo quindi utilizzare il modello di clustering K-means per addestrare i dati:

kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
  • 1
  • 2

Infine, possiamo visualizzare i risultati dell'allenamento, nonché i centroidi dei cluster:

plt.scatter(X[:, 0], X[:, 1], s=50, c="lightblue", marker="o", edgecolor="black")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker="*", c="red", edgecolor="black")
plt.show()
  • 1
  • 2
  • 3

Attraverso i passaggi precedenti, abbiamo completato il processo di addestramento del modello di clustering K-means e abbiamo anche ottenuto un'immagine visiva dei risultati dell'addestramento.

Processo di previsione del modello di clustering K-means

Successivamente, introduciamo il processo di previsione del modello di clustering K-medie. Nel modello di clustering K-means, il processo di previsione consiste nell'assegnare nuovi campioni al cluster con il baricentro più vicino.

Innanzitutto, possiamo utilizzare il modello di clustering K-means addestrato per prevedere nuovi campioni:

new_samples = np.array([[0, 0], [4, 4]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

Nel codice precedente creiamo due nuovi esempi[0, 0]E[4, 4]e utilizzarepredict metodo per prevederlo. Infine, otteniamo le etichette dei cluster previste per i nuovi campioni.

Esempio

Per comprendere in modo più intuitivo il processo di addestramento e previsione del modello di clustering K-means, lo illustreremo con un esempio specifico.

Supponiamo di avere un set di dati con tre funzionalitàX , vogliamo dividerlo in 3 cluster. Innanzitutto, possiamo addestrare i dati utilizzando un modello di clustering K-means:

kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
  • 1
  • 2

Successivamente, applichiamo il modello addestrato a nuovi campioni:

new_samples = np.array([[1, 1, 1], [2, 2, 2]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

Attraverso gli esempi sopra riportati, possiamo vedere chiaramente il processo di addestramento e previsione del modello di clustering K-means.

Riassumere

Attraverso l'introduzione di questo blog, abbiamo una comprensione dettagliata del processo di training e del processo di previsione del modello di clustering K-means e dimostriamo attraverso esempi come utilizzare la libreria scikit-learn di Python per eseguire il clustering K-means. Il clustering K-means è un algoritmo di clustering semplice ed efficiente che può essere applicato a vari campi, tra cui l'analisi dei dati, l'elaborazione delle immagini, ecc. Spero che questo blog ti aiuti a imparare l'apprendimento automatico e l'intelligenza artificiale!