Algorithme des k-moyennes (k-means) - Amazon SageMaker

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.

Algorithme des k-moyennes (k-means)

L'algorithme des k-moyennes (k-means) est un algorithme d'apprentissage non supervisé. Il tente de trouver des regroupements discrets au sein des données, au sein desquels les membres d'un groupe sont aussi semblables que possible les uns des autres et aussi différents que possible des membres des autres groupes. Vous définissez les attributs qui doivent être utilisés par l'algorithme pour déterminer la similarité.

Amazon SageMaker utilise une version modifiée de l'algorithme de clustering k-means à l'échelle du Web. Par rapport à la version originale de l'algorithme, la version utilisée par Amazon SageMaker est plus précise. Comme l'algorithme d'origine, elle effectue une mise à l'échelle par rapport aux ensembles de données massifs et fournit des améliorations dans les délais de l'entraînement. Pour ce faire, la version utilisée par Amazon SageMaker diffuse des mini-lots (petits sous-ensembles aléatoires) des données d'entraînement. Pour plus d'informations sur les mini-lots et les k-moyennes (k-means), consultez Web-scale k-means Clustering.

L'algorithme des k-moyennes (k-means) s'attend à des données tabulaires, où les lignes représentent les observations que vous souhaitez regrouper, et les colonnes, les attributs des observations. L'attribut n de chaque ligne représente un point dans un espace à n dimension(s). La distance euclidienne entre ces points représente la similarité des observations correspondantes. L'algorithme regroupe les observations avec les valeurs d'attribut similaires (les points correspondant à ces observations sont rapprochés). Pour plus d'informations sur le fonctionnement de k-means sur Amazon SageMaker, consultezFonctionnement du clustering des données à l'aide de l'algorithme de k-moyennes (k-means).

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

Pour l'entraînement, l'algorithme des k-moyennes (k-means) s'attend à ce que les données soient fournies dans le canal train (S3DataDistributionType=ShardedByS3Key recommandé), avec un canal test facultatif (S3DataDistributionType=FullyReplicated recommandé) pour y marquer les données. Les deux formats de fichier recordIO-wrapped-protobuf et CSV sont pris en charge pour l'entraînement. 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 l'inférence, les trois formats text/csv, application/json et application/x-recordio-protobuf sont pris en charge. L'algorithme des k-moyennes renvoie une étiquette closest_cluster et la valeur de distance_to_cluster pour chaque observation.

Pour plus d'informations sur les formats de fichier en entrée et en sortie, consultez Formats de réponse des k-moyennes pour l'inférence, ainsi que la rubrique Exemples de blocs-notes de k-moyennes. L'algorithme des k-moyennes ne prend pas en charge l'apprentissage de plusieurs instances, dans lequel l'ensemble d'entraînement est constitué de « sacs » étiquetés, chacun d'entre eux étant un ensemble d'instances non étiquetées.

Recommandations relatives aux instances EC2 pour l'algorithme des k-moyennes

Nous vous recommandons d'entraîner les données de k-moyennes sur les instances CPU. Vous pouvez effectuer l'entraînement sur les instances de GPU, mais vous devez limiter l'entraînement sur GPU aux instances à un seul GPU (telles que ml.g4dn.xlarge), car un seul GPU est utilisé par instance. L'algorithme des k-moyennes prend en charge les instances P2, P3, G4dn et G5 pour l'entraînement et l'inférence.

Exemples de blocs-notes de k-moyennes

Pour un exemple de carnet utilisant l'algorithme SageMaker K-means pour segmenter la population des comtés des États-Unis en fonction d'attributs identifiés à l'aide d'une analyse en composantes principales, voir Analyser les données du recensement américain pour la segmentation de la population à l'aide d'Amazon SageMaker. Pour savoir comment créer et accéder à des instances de bloc-notes Jupyter dans lesquelles vous pouvez exécuter l'exemple SageMaker, 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 SageMakerExemples pour afficher la liste de tous les SageMaker exemples. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).