

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Algoritmo k-means
<a name="k-means"></a>

O k-means é um algoritmo de aprendizagem não supervisionada. Ele tenta encontrar agrupamentos distintos dentro dos dados, em que os membros de um grupo sejam o mais semelhantes possível entre eles e o mais diferentes possível dos membros de outros grupos. Você define os atributos a ser usados para determinar similaridade. 

A Amazon SageMaker AI usa uma versão modificada do algoritmo de agrupamento k-means em escala web. Em comparação com a versão original do algoritmo, a versão usada pela Amazon SageMaker AI é mais precisa. Como o algoritmo original, ele pode ser dimensionado para grandes conjuntos de dados e fornece melhorias no tempo de treinamento. Para fazer isso, a versão usada pela Amazon SageMaker AI transmite minilotes (pequenos subconjuntos aleatórios) dos dados de treinamento. Para obter mais informações sobre k-means de minilotes, consulte o artigo sobre [Agrupamento de k-means na escala da web](https://dl.acm.org/doi/10.1145/1772690.1772862).

O algoritmo k-means espera dados tabulares, em que as linhas representam as observações a ser agrupadas, e as colunas, os atributos das observações. Os atributos *n* em cada linha representam um ponto no espaço *n*-dimensional. A distância euclidiana entre esses pontos representa a similaridade das observações correspondentes. O algoritmo agrupa as observações com valores de atributo semelhantes (em que os pontos correspondentes a essas observações são mais próximos). Para obter mais informações sobre como o k-means funciona na Amazon SageMaker AI, consulte[Como funciona o clustering do k-means](algo-kmeans-tech-notes.md).

**Topics**
+ [Interface de entrada/saída para o algoritmo k-means](#km-inputoutput)
+ [Recomendação de instâncias do EC2 para o algoritmo k-means](#km-instances)
+ [Blocos de anotações de amostra do k-means](#kmeans-sample-notebooks)
+ [Como funciona o clustering do k-means](algo-kmeans-tech-notes.md)
+ [Hiperparâmetros do k-means](k-means-api-config.md)
+ [Ajustar um modelo k-means](k-means-tuning.md)
+ [Formatos de resposta do k-means](km-in-formats.md)

## Interface de entrada/saída para o algoritmo k-means
<a name="km-inputoutput"></a>

Para treinamento, o algoritmo k-means espera que os dados sejam fornecidos no canal de *treinamento* (`S3DataDistributionType=ShardedByS3Key` recomendado), com um canal de *teste* opcional (`S3DataDistributionType=FullyReplicated` recomendado) nos quais pontuar os dados. Ambos os formatos `recordIO-wrapped-protobuf` e `CSV` têm suporte para treinamento. É possível usar o modo de Arquivo ou de Pipe para treinar modelos em dados formatados como `recordIO-wrapped-protobuf` ou `CSV`.

Para a inferência, `text/csv`, `application/json` e `application/x-recordio-protobuf` são compatíveis. O k-means retorna um rótulo `closest_cluster` e o `distance_to_cluster` para cada observação.

Para obter mais informações sobre formatos de arquivo de entrada e saída, consulte [Formatos de resposta do k-means](km-in-formats.md) para inferência e os [Blocos de anotações de amostra do k-means](#kmeans-sample-notebooks). O algoritmo k-means não oferece suporte ao aprendizado de várias instâncias, em que o conjunto de treinamento consiste em “bolsas” rotuladas, sendo que cada uma delas é uma coleção de instâncias não rotuladas.

## Recomendação de instâncias do EC2 para o algoritmo k-means
<a name="km-instances"></a>

Recomendamos o treinamento do k-means em instâncias de CPU. Você pode treiná-lo em instâncias de GPU, mas deve limitar o treinamento de GPU às instâncias de GPU única (como ml.g4dn.xlarge), porque apenas uma GPU é usada por instância. O algoritmo k-means oferece suporte às instâncias de P2, P3, G4dn e G5 para treinamento e inferência.

## Blocos de anotações de amostra do k-means
<a name="kmeans-sample-notebooks"></a>

Para um exemplo de caderno que usa o algoritmo SageMaker AI K-means para segmentar a população de condados nos Estados Unidos da América por atributos identificados usando a análise de componentes principais, [consulte Analisar dados do censo dos EUA para segmentação populacional](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_applying_machine_learning/US-census_population_segmentation_PCA_Kmeans/sagemaker-countycensusclustering.html) usando Amazon AI. SageMaker Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo em SageMaker IA, consulte. [Instâncias de SageMaker notebook da Amazon](nbi.md) Depois de criar uma instância do notebook e abri-la, selecione a guia **Exemplos de SageMaker IA** para ver uma lista de todas as amostras de SageMaker IA. Para abrir um caderno, clique em sua guia **Uso** e selecione **Criar cópia**.