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.
Tópicos
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