Algoritmo K-Means - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Algoritmo K-Means

K-means è un algoritmo di apprendimento non supervisionato. Cerca di trovare raggruppamenti discreti all'interno di dati, dove i membri di un gruppo sono il più possibile simili l'uno all'altro e il più possibile diversi dai membri di altri gruppi. Definisci gli attributi che desideri che l'algoritmo utilizzi per determinare la somiglianza.

Amazon SageMaker utilizza una versione modificata dell'algoritmo di clustering k-means su scala web. Rispetto alla versione originale dell'algoritmo, la versione utilizzata da Amazon SageMaker è più accurata. Come l'algoritmo originale, si adatta alle grandi quantità di set di dati e fornisce miglioramenti al momento del training. A tale scopo, la versione utilizzata da Amazon SageMaker trasmette in streaming mini-batch (piccoli sottoinsiemi casuali) dei dati di addestramento. Per ulteriori informazioni su mini-batch k-means, consulta Web-scale k-means Clustering.

L'algoritmo k-means si aspetta i dati tabulari, dove le righe rappresentano le osservazioni da raggruppare e le colonne rappresentano gli attributi delle osservazioni. Gli attributi n in ogni riga rappresentano un punto in spazio dimensionale-n. La distanza euclidea tra questi punti rappresenta la somiglianza delle osservazioni corrispondente. L'algoritmo raggruppa le osservazioni con valori di attributo simili (i punti corrispondenti a tali osservazioni sono raggruppati). Per ulteriori informazioni su come funziona k-means in Amazon SageMaker, consultaCome funziona k-means clustering.

Interfaccia di input/output per l'algoritmo K-Means

L'algoritmo k-means si aspetta che i dati da fornire nel canale di training (consigliato S3DataDistributionType=ShardedByS3Key), con un canale di test opzionale (consigliato S3DataDistributionType=FullyReplicated) su cui registrare i dati. I formati recordIO-wrapped-protobuf e CSV sono supportati per il training. Puoi utilizzare la modalità file o la modalità pipe per addestrare i modelli sui dati formattati come recordIO-wrapped-protobuf o CSV.

Per l'inferenza, sono supportati text/csv, application/json e application/x-recordio-protobuf. k-means restituisce un'etichetta closest_clustere la distance_to_cluster per ogni osservazione.

Per ulteriori informazioni sui formati di file di input e output, consulta Formati di risposta k-Means per l'inferenza e i Notebook di esempio K-Means. L'algoritmo k-means non supporta più istanze di apprendimento, in cui il set di training è costituito da etichette “bags”, ciascuna delle quali è una raccolta di istanze non etichettate.

Raccomandazione istanza EC2 per l'algoritmo K-Means

Consigliamo di eseguire il training di k-means sulle istanze di CPU. Puoi eseguire l’addestramento sulle istanze GPU, ma devi limitare l’addestramento di GPU a singole istanze GPU (ad esempio, ml.g4dn.xlarge) perché viene utilizzata solo una GPU per ogni istanza. L'algoritmo k-means supporta istanze P2, P3, G4dn e G5 per l'addestramento e l'inferenza.

Notebook di esempio K-Means

Per un taccuino di esempio che utilizza l'algoritmo SageMaker K-means per segmentare la popolazione delle contee degli Stati Uniti in base agli attributi identificati utilizzando l'analisi dei componenti principali, consulta Analizzare i dati del censimento degli Stati Uniti per la segmentazione della popolazione utilizzando Amazon. SageMaker Per istruzioni su come creare e accedere alle istanze di notebook Jupyter che puoi utilizzare per eseguire l'esempio, consulta. SageMaker Istanze Amazon SageMaker Notebook Dopo aver creato un'istanza di notebook e averla aperta, seleziona la scheda SageMakerEsempi per visualizzare un elenco di tutti gli esempi. SageMaker Per aprire un notebook, fai clic sulla relativa scheda Use (Utilizza) e seleziona Create copy (Crea copia).