Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Algoritmo K-Nearest Neighbors (k-NN)

Modalità Focus
Algoritmo K-Nearest Neighbors (k-NN) - Amazon SageMaker AI

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à.

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à.

L'algoritmo k-NN (k-NN) di Amazon SageMaker AI è un algoritmo basato su indici. Utilizza un metodo non parametrico per la classificazione o la regressione. Per la classificazione dei problemi, l'algoritmo esegue la query dei punti k più vicini al punto di esempio e restituisce l'etichetta più utilizzata della classe come etichetta prevista. Per i problemi di regressione, l'algoritmo esegue la query dei punti k più vicini al punto di esempio e restituisce la media dei valori di caratteristiche e il valore previsto.

L’addestramento con l'algoritmo k-NN ha tre fasi: campionamento, riduzione della dimensione e costruzione dell'indice. Il campionamento riduce la dimensione del set di dati iniziale in modo che possa essere contenuto in memoria. Per la riduzione della dimensione, l'algoritmo diminuisce la dimensione della caratteristica dei dati per ridurre il footprint del modello k-NN nella latenza della memoria e dell'inferenza. Sono forniti due metodi di riduzione della dimensione: la proiezione casuale e la trasformazione veloce Johnson-Lindenstrauss. In genere, si utilizza la riduzione della dimensione per set di dati ad alta dimensionalità (d> 1000) per evitare la "maledizione della dimensionalità" che disturba l'analisi statistica dei dati che diventa sparsa con l'aumentare della dimensionalità. L'obiettivo principale dell’addestramento k-NN è quello di costruire l'indice. L'indice consente ricerche efficienti di distanze tra i punti i cui valori o etichette di classe non sono ancora stati determinati e i k punti più vicini da utilizzare per l'inferenza.

Interfaccia di input/output per l'algoritmo k-NN

SageMaker AI k-NN supporta canali di dati di addestramento e test.

  • Usa un canale di addestramento per i dati che vuoi campionare e costruire nell'indice k-NN.

  • Utilizza un canale di test per emettere i punteggi nel file di log. I punteggi sono elencati come una riga per mini-lotto: accuratezza per classifier, errore quadratico medio (mse) per regressor per il punteggio.

Per gli input di addestramento, k-NN supporta i formati di dati text/csv e application/x-recordio-protobuf. Per il tipo di input text/csv, le prime colonne label_size sono interpretate come il vettore delle etichette per la riga. Puoi utilizzare la modalità file o la modalità pipe per addestrare i modelli sui dati formattati come recordIO-wrapped-protobuf o CSV.

Per gli input di inferenza, k-NN supporta i formati di dati application/json, application/x-recordio-protobuf e text/csv. Il formato text/csv accetta un label_size e il parametro di codifica. Presuppone che label_size sia 0 e la codifica UTF-8.

Per gli output di inferenza, k-NN supporta i formati di dati application/json e application/x-recordio-protobuf. Questi due formati di dati supportano anche la modalità di output dettagliato. Nella modalità di output dettagliato, l'API fornisce i risultati della ricerca con il vettore delle distanze ordinato dal più piccolo al più grande e gli elementi corrispondenti nel vettore delle etichette.

Per la trasformazione in batch, k-NN supporta il formato application/jsonlines per l'input e l'output. Di seguito viene riportato un input di esempio:

content-type: application/jsonlines {"features": [1.5, 16.0, 14.0, 23.0]} {"data": {"features": {"values": [1.5, 16.0, 14.0, 23.0]}}

Di seguito viene riportato un output di esempio:

accept: application/jsonlines {"predicted_label": 0.0} {"predicted_label": 2.0}

Per ulteriori informazioni sui formati di file di input e output, consulta Formati di dati per l'input di addestramento k-NN per l’addestramento, Formati di richieste e risposte k-NN per l'inferenza e Notebook di esempio k-NN.

Notebook di esempio k-NN

Per un notebook di esempio che utilizza l'algoritmo SageMaker AI k-Nearest Neighbor per prevedere i tipi di copertura delle aree naturali sulla base dei dati dei servizi geologici e forestali, vedi K-Nearest Neighbor Covertype.

Usa un'istanza di notebook Jupyter per eseguire l'esempio in AI. SageMaker Per informazioni su come creare e aprire un'istanza di notebook Jupyter in AI, vedi. SageMaker Istanze Amazon SageMaker Notebook Dopo aver creato un'istanza di notebook e averla aperta, seleziona la scheda SageMaker AI Examples per visualizzare un elenco di tutti i notebook di esempio SageMaker AI. Trova i notebook K-Nearest Neighbor nella sezione Introduzione agli algoritmi di Amazon. Per aprire un notebook, fai clic sulla relativa scheda Use (Utilizza) e seleziona Create copy (Crea copia).

EC2 Istanza raccomandata per l'algoritmo k-NN

Consigliamo l'addestramento su un'istanza CPU (come ml.m5.2xlarge) o su un'istanza GPU. L'algoritmo k-NN supporta famiglie di istanze GPU P2, P3, G4dn e G5 per l'addestramento e l'inferenza.

Le richieste di inferenza provenienti CPUs in genere hanno una latenza media inferiore rispetto a quelle provenienti da, GPUs poiché quando si utilizza hardware GPU viene applicata una tassa sulla CPU-to-GPU comunicazione. Tuttavia, GPUs in genere hanno un throughput più elevato per batch più grandi.

Argomento successivo:

Come funziona

Argomento precedente:

Formati di inferenza
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.