Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Algorithme k-NN (K-Nearest Neighbors, k plus proches voisins)

Mode de mise au point
Algorithme k-NN (K-Nearest Neighbors, k plus proches voisins) - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

L'algorithme SageMaker k-nearest neighbors (k-NN) d'Amazon AI est un algorithme basé sur un index. Il utilise une méthode non paramétrique pour la classification ou la régression. Pour les problèmes de classification, l'algorithme interroge les k points qui sont les plus proches de l'exemple de point et renvoie l'étiquette la plus fréquemment utilisée de leur classe comme étiquette prédite. Pour les problèmes de régression, l'algorithme interroge les k points les plus proches de l'exemple de point et renvoie la moyenne de leurs valeurs de caractéristique comme valeur prédite.

L'apprentissage avec l'algorithme k-NN possède trois étapes : l'échantillonnage, la réduction de dimension et la création d'index. L'échantillonnage réduit la taille du jeu de données initial afin qu'il puisse entrer en mémoire. Pour la réduction de dimension, l'algorithme diminue la dimension de caractéristique des données afin de réduire l'empreinte du modèle k-NN en mémoire et la latence de l'inférence. Nous fournissons deux méthodes de réduction des dimensions : méthode par projection aléatoire et méthode FJLT (Fast Johnson-Lindenstrauss Transform). En général, vous utilisez une réduction de dimension pour les jeux de données à dimension élevée (d > 1000) afin d'éviter la « malédiction de dimension » qui perturbe l'analyse statistique des données, lesquelles deviennent de plus en plus clairsemées au fur et à mesure que les dimensions augmentent. L'objectif principal de l'apprentissage de l'algorithme k-NN est de construire l'index. L'index permet les recherches efficaces de distances entre les points dont les valeurs ou les étiquettes de classe n'ont pas encore été déterminées et les k points les plus proches à utiliser pour l'inférence.

Interface d'entrée/sortie pour l'algorithme k-NN

SageMaker AI K-nn prend en charge les canaux de données de train et de test.

  • Utilisez un canal formation (train) pour les données que vous souhaitez échantillonner et construire dans l'index k-NN.

  • Utilisez un canal test pour émettre les scores dans les fichiers journaux. Les scores sont répertoriés sous la forme d'une ligne par mini-lot : précision pour classifier, erreur quadratique moyenne (mse, mean-squared error) pour regressor pour le score

Pour les entrées d'apprentissage, k-NN prend en charge les formats de données text/csv et application/x-recordio-protobuf. Pour le type d'entrée text/csv, les premières colonnes label_size sont interprétées comme vecteur d'étiquette de cette ligne. Vous pouvez utiliser le mode File (Fichier) ou le mode Pipe (Tube) pour entraîner les modèles sur les données obéissant au format recordIO-wrapped-protobuf ou au format CSV.

Pour les entrées d'inférence, k-NN prend en charge les formats de données application/json, application/x-recordio-protobuf et text/csv. Le format text/csv accepte un champ label_size et un paramètre d'encodage. Il suppose un champ label_size égal à 0 et un encodage UTF-8.

Pour les sorties d'inférence, k-NN prend en charge les formats de données application/json et application/x-recordio-protobuf. Ces deux formats de données prennent également en charge un mode de sortie détaillé. En mode de sortie détaillé, l'API fournit les résultats de recherche avec le vecteur des distances triées de la plus petite à la plus grande, et les éléments correspondants dans le vecteur des étiquettes.

Pour la transformation par lots, l'algorithme k-NN prend en charge le format de données application/jsonlines aussi bien pour l'entrée que pour la sortie. Voici un exemple d'entrée :

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

Voici un exemple de sortie :

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

Pour plus d'informations sur les formats de fichier en entrée et en sortie, consultez Formats de données pour les entrées de formation k-NN pour l'apprentissage, Formats de demande et de réponse k-NN pour l'inférence, ainsi que la rubrique Exemples de blocs-notes k-NN.

Exemples de blocs-notes k-NN

Pour un exemple de carnet utilisant l'algorithme SageMaker AI K-Nearest Neighbor pour prédire les types de couverture sauvage à partir des données géologiques et du service forestier, voir le K-Nearest Neighbor Covertype.

Utilisez une instance de bloc-notes Jupyter pour exécuter l'exemple dans SageMaker AI. Pour savoir comment créer et ouvrir une instance de bloc-notes Jupyter dans SageMaker AI, consultez. Instances Amazon SageMaker Notebook Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet Exemples d'SageMaker IA pour voir la liste de tous les blocs-notes d'exemples d' SageMaker IA. Recherchez les blocs-notes K-Nearest Neighbor dans la section Introduction aux algorithmes Amazon. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).

EC2 Recommandation d'instance pour l'algorithme k-NN

Nous vous recommandons d'effectuer l'entraînement sur une instance de CPU (telle que ml.m5.2xlarge) ou sur une instance de GPU. L'algorithme k-NN prend en charge les familles d'instances de GPU P2, P3, G4dn et G5 pour l'entraînement et l'inférence.

Les demandes d'inférence ont CPUs généralement une latence moyenne inférieure à celle des demandes provenant de, GPUs car les communications sont soumises à une taxe sur les CPU-to-GPU communications lorsque vous utilisez du matériel GPU. Cependant, ils ont GPUs généralement un débit plus élevé pour les lots plus importants.

Rubrique suivante :

Comment ça marche

Rubrique précédente :

Formats d'inférence
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.