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

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 des k-moyennes à l'échelle du web. Par rapport à la version d'origine 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 des k-moyennes (k-means) dans Amazon SageMaker, consultez Fonctionnement 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 GPU, mais vous devez limiter l'entraînement sur GPU aux instances p*.xlarge, car une seule GPU est utilisée par instance.

Exemples de blocs-notes de k-moyennes

Pour obtenir un exemple de bloc-notes qui utilise l'algorithme de k-moyennes SageMaker afin de segmenter la population des comtés des États-Unis par attributs identifiés à l'aide de l'analyse en composantes principales, consultez l'article sur l'analyse des données du recensement des États-Unis en vue d'une segmentation de la population avec Amazon SageMaker. Pour savoir comment créer des instances de blocs-notes Jupyter et y accéder afin de les utiliser pour exécuter l'exemple dans SageMaker, consultez Utilisation des instances de bloc-notes Amazon SageMaker. Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet SageMaker Examples (Exemples SageMaker) pour afficher la liste de tous les exemples SageMaker. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).