Algoritmo k-means - Amazon SageMaker

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

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

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, consulteComo funciona o clustering do k-means.

Interface de entrada/saída para o algoritmo k-means

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 para inferência e os Blocos de anotações de amostra do k-means. 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

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

Para um exemplo de caderno que usa o algoritmo SageMaker K-means para segmentar a população de condados nos Estados Unidos por atributos identificados usando a análise de componentes principais, consulte Analisar dados do censo dos EUA para segmentação populacional usando a Amazon. SageMaker Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo SageMaker, consulte. Instâncias do Amazon SageMaker Notebook Depois de criar uma instância do notebook e abri-la, selecione a guia SageMakerExemplos para ver uma lista de todas as SageMaker amostras. Para abrir um bloco de anotações, clique em sua guia Uso e selecione Criar cópia.