Clustering K-Means
Importante
O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.
A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).
- Consulte informações sobre projetos de machine learning em movimento de ML Studio (clássico) para Azure Machine Learning.
- Saiba mais sobre Azure Machine Learning.
A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.
Configurações e inicializa um K-significa clustering modelo
Categoria: Machine Learning / Modelo inicialização / Agrupamento
Nota
Aplica-se a: Machine Learning Studio (clássico) apenas
Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.
Visão geral do módulo
Este artigo descreve como usar o módulo de clustering K-Means em Machine Learning Studio (clássico) para criar um modelo de agrupamento de k-means destreinado.
K-means é um dos algoritmos de aprendizagem mais simples e conhecidos e não supervisionados , e pode ser usado para uma variedade de tarefas de aprendizagem automática, tais como detetar dados anormais, agrupamento de documentos de texto, e análise de um conjunto de dados antes de usar outros métodos de classificação ou regressão. Para criar um modelo de agrupamento, adicione este módulo à sua experiência, conecte um conjunto de dados e estabeleça parâmetros como o número de clusters que espera, a métrica da distância a utilizar na criação dos clusters, e assim por diante.
Depois de configurar os hiperparmetros do módulo, ligue o modelo não treinado ao Modelo de Agrupamento de Comboios ou aos módulos de Agrupamento de Varreduras para treinar a modelo nos dados de entrada que fornece. Como o algoritmo K-significa é um método de aprendizagem não supervisionado, uma coluna de etiqueta é opcional.
- Se os seus dados incluir uma etiqueta, pode utilizar os valores do rótulo para orientar a seleção dos clusters e otimizar o modelo.
- Se os seus dados não tão bem marcadores, o algoritmo cria clusters que representam possíveis categorias, baseadas apenas nos dados.
Dica
Se os seus dados de treino tão bem como os seus dados de formação utilizadores, considere a utilização de um dos métodos de classificação supervisionados fornecidos em Machine Learning. Por exemplo, pode comparar os resultados do agrupamento com os resultados ao usar um dos algoritmos de decisão multiclasse.
Compreensão k-significa agrupamento
Em geral, o agrupamento utiliza técnicas iterativas para agrupar casos num conjunto de dados em clusters que contêm características semelhantes. Estes agrupamentos são úteis para explorar dados, identificar anomalias nos dados e, eventualmente, para fazer previsões. Os modelos de agrupamento também podem ajudá-lo a identificar relações num conjunto de dados que pode não derivar logicamente através da navegação ou observação simples. Por estas razões, o agrupamento é frequentemente usado nas primeiras fases das tarefas de aprendizagem automática, para explorar os dados e descobrir correlações inesperadas.
Ao configurar um modelo de agrupamento utilizando o método k-significa, deve especificar um número de alvo k indicando o número de centrosids que deseja no modelo. O centroid é um ponto que é representativo de cada cluster. O algoritmo K-significa atribuir cada ponto de dados de entrada a um dos clusters minimizando a soma do cluster dentro dos quadrados.
Ao processar os dados de treino, o algoritmo K-significa começa com um conjunto inicial de centrosids escolhidos aleatoriamente, que servem como pontos de partida para cada cluster, e aplica o algoritmo de Lloyd para refinar iterativamente as localizações dos centrosids. O algoritmo K-significa que o algoritmo para de construir e refinar clusters quando satisfaz uma ou mais destas condições:
Os centrosids estabilizam, o que significa que as atribuições de cluster para pontos individuais já não mudam e o algoritmo convergiu para uma solução.
O algoritmo completou a execução do número especificado de iterações.
Após completar a fase de treino, utiliza o módulo Dedesemes de Atribuição a Clusters para atribuir novos casos a um dos clusters que foi encontrado pelo algoritmo k-meios. A atribuição do cluster é realizada calculando a distância entre o novo caso e o centroíid de cada cluster. Cada novo caso é atribuído ao cluster com o centroid mais próximo.
Como configurar o Agrupamento K-Means
Adicione o módulo de agrupamento K-Significa à sua experiência.
Especifique como pretende que o modelo seja treinado, definindo a opção modo de formação Create.
Parâmetro único: Se souber os parâmetros exatos que pretende utilizar no modelo de agrupamento, pode fornecer um conjunto específico de valores como argumentos.
Intervalo de parâmetros: Se não tiver a certeza dos melhores parâmetros, pode encontrar os parâmetros ideais especificando vários valores e utilizando o módulo de Agrupamento de Varredura para encontrar a configuração ideal.
O treinador itera sobre várias combinações das configurações fornecidas e determina a combinação de valores que produz os melhores resultados de agrupamento.
Para o Número de Centrosids, digite o número de clusters com que o algoritmo comece.
A modelo não é garantida para produzir exatamente este número de aglomerados. O algorithn começa com este número de pontos de dados e iterates para encontrar a configuração ideal, como descrito na secção Notas Técnicas .
Se estiver a fazer uma varredura de parâmetros, o nome da propriedade muda para Range for Number of Centroids. Pode utilizar o Range Builder para especificar uma gama, ou pode escrever uma série de números que representam diferentes números de clusters para criar ao rubricar cada modelo.
As propriedades Inicialização ou Inicialização para varredura são usadas para especificar o algoritmo que é usado para definir a configuração inicial do cluster.
Primeiro N: Alguns números iniciais de pontos de dados são escolhidos a partir do conjunto de dados e utilizados como meios iniciais.
Também chamado de método Forgy.
Aleatório: O algoritmo coloca aleatoriamente um ponto de dados num cluster e, em seguida, calcula a média inicial para ser o centroíid dos pontos atribuídos aleatoriamente do cluster.
Também chamado o método de partição aleatória .
K-Means++: Este é o método padrão para inicializar clusters.
O algoritmo K-means ++ foi proposto em 2007 por David Arthur e Sergei Vassilvitskii para evitar o mau agrupamento pelo algoritmo k-means padrão. K-means ++ melhora em k-means padrão usando um método diferente para escolher os centros de cluster iniciais.
K-Means++Fast: Uma variante do algoritmo K-means ++ que foi otimizada para um agrupamento mais rápido.
Uniformemente: Os centroids estão localizados equidistantes uns dos outros no espaço d-Dimensional de n pontos de dados.
Utilizar coluna de etiqueta: Os valores na coluna da etiqueta são utilizados para orientar a seleção de centrosids.
Para sementes de número aleatório, digite opcionalmente um valor a utilizar como semente para a inicialização do cluster. Este valor pode ter um efeito significativo na seleção do cluster.
Se utilizar uma varredura de parâmetros, pode especificar que várias sementes iniciais são criadas, para procurar o melhor valor inicial de sementes. Para o número de sementes varrer, digite o número total de valores de sementes aleatórias para utilizar como pontos de partida.
Para Métrica, escolha a função a utilizar para medir a distância entre os vetores de cluster, ou entre novos pontos de dados e o centroid escolhido aleatoriamente. Machine Learning suporta as seguintes métricas de distância do cluster:
Euclideano: A distância euclidana é comumente usada como uma medida de dispersão de aglomerados para o agrupamento de meios K. Esta métrica é preferida porque minimiza a distância média entre os pontos e os centrosids.
Cosine: A função cosina é usada para medir a semelhança do cluster. A semelhança cosina é útil nos casos em que não se importa com o comprimento de um vetor, apenas o seu ângulo.
Para iterações, digite o número de vezes que o algoritmo deve iterar sobre os dados de treino antes de finalizar a seleção de centrosids.
Pode ajustar este parâmetro para equilibrar a precisão vs. tempo de treino.
Para atribuir o modo de etiqueta, escolha uma opção que especifique como uma coluna de etiqueta, se presente no conjunto de dados, deve ser manuseada.
Como o agrupamento K-significa que o agrupamento é um método de aprendizagem automática não supervisionado, os rótulos são opcionais. No entanto, se o seu conjunto de dados já tiver uma coluna de etiquetas, pode utilizar esses valores para orientar a seleção dos clusters, ou pode especificar que os valores serão ignorados.
Ignore a coluna da etiqueta: Os valores na coluna do rótulo são ignorados e não são utilizados na construção do modelo.
Preencha os valores em falta: Os valores da coluna de etiqueta são utilizados como funcionalidades para ajudar a construir os clusters. Se faltar alguma etiqueta, o valor é imputado utilizando outras funcionalidades.
Sobrepor-se do mais próximo ao centro: Os valores da coluna de etiqueta são substituídos por valores de etiquetas previstos, utilizando a etiqueta do ponto mais próximo do centroíid atual.
Treine o modelo.
Se definir Criar o modo de treinador para um único parâmetro, adicione um conjunto de dados marcado e treine o modelo utilizando o módulo Modelo de Agrupamento de Comboios.
Se definir Criar o modo de treinador ao intervalo de parâmetros, adicione um conjunto de dados marcado e treine o modelo utilizando o Clustering de Varrimento. Pode utilizar o modelo treinado utilizando esses parâmetros, ou pode tomar nota das definições dos parâmetros a utilizar ao configurar um aprendiz.
Resultados
Depois de ter terminado de configurar e treinar o modelo, tem uma modelo que pode usar para gerar pontuações. No entanto, existem múltiplas formas de treinar o modelo, e várias formas de ver e usar os resultados:
Capture uma foto do modelo no seu espaço de trabalho
Se usou o módulo modelo de clustering de comboio
- Clique à direita no módulo Modelo de Agrupamento de Comboios .
- Selecione modelo treinados e, em seguida, clique em Guardar como Modelo Treinado.
Se usou o módulo de Agrupamento de Varreduras para treinar o modelo
- Clique com a direita no módulo de agrupamento de varreduras .
- Selecione Melhor modelo treinado e, em seguida, clique em Guardar como Modelo Treinado.
O modelo guardado representará os dados de treino no momento em que guardou o modelo. Se atualizar mais tarde os dados de treino utilizados na experiência, não atualizará os modelo guardados.
Veja uma representação visual dos aglomerados na modelo
Se usou o módulo modelo de clustering de comboio
- Clique com o botão direito no módulo e selecione conjunto de dados de resultados.
- Selecione Visualizar.
Se usou o módulo de agrupamento de varreduras
Adicione uma instância do módulo Dedestar dados a Clusters e gerar pontuações utilizando o melhor modelo treinado.
Clique com o botão direito no módulo 'Atribuir dados aos clusters ', selecione conjunto de dados de resultados e selecione Visualize.
O gráfico é gerado usando a Análise principal de Componentes, que é uma técnica na ciência dos dados para comprimir o espaço de recurso de uma modelo. O gráfico mostra alguns conjuntos de funcionalidades, comprimidos em duas dimensões, que melhor caracterizam a diferença entre os clusters. Ao rever visualmente o tamanho geral do espaço de funcionalidade para cada cluster e o quanto os clusters se sobrepõem, você pode ter uma ideia de quão bem o seu modelo pode funcionar.
Por exemplo, os seguintes gráficos de APC representam os resultados de dois modelos treinados com os mesmos dados: o primeiro foi configurado para a produção de dois clusters, e o segundo foi configurado para a produção de três clusters. A partir destes gráficos, pode ver-se que o aumento do número de agrupamentos não melhorou necessariamente a separação das classes.
Dica
Utilize o módulo de agrupamento de varredura para escolher o conjunto ideal de hiperparímetros, incluindo a semente aleatória e o número de centrosids iniciais.
Veja a lista de pontos de dados e os clusters a que pertencem
Existem duas opções para visualizar o conjunto de dados com resultados, dependendo da forma como treinou o modelo:
Se usou o módulo de Agrupamento de Varreduras para treinar o modelo
- Utilize a caixa de verificação no módulo de Agrupamento de Varreduras para especificar se deseja ver os dados de entrada juntamente com os resultados ou ver apenas os resultados.
- Quando o treino estiver completo, clique com o botão direito e selecione conjunto de dados de resultados (número de saída 2)
- Clique em Visualizar.
Se usou o módulo modelo de clustering de comboio
- Adicione o módulo Deatribuição de Dados aos Clusters e ligue a modelo treinada à entrada da esquerda. Ligação um conjunto de dados para a entrada da mão direita.
- Adicione o módulo Convertendo-se à sua experiência e conecte-o à saída de "Atribuir Dados aos Clusters".
- Utilize a caixa de verificação no módulo 'Atribuir Dados aos Clusters ' para especificar se pretende ver os dados de entrada juntamente com os resultados ou ver apenas os resultados.
- Executar a experiência, ou executar apenas o módulo Converte para Conjunto de Dados .
- Clique com o botão direito Converter para conjunto de dados, selecionar conjunto de dados de resultados e clicar em Visualizar.
A saída contém primeiro as colunas de dados de entrada, se as incluir, e as seguintes colunas para cada linha de dados de entrada:
Atribuição: A atribuição é um valor entre 1 e n, onde n é o número total de clusters no modelo. Cada linha de dados pode ser atribuída a apenas um cluster.
DistânciasToClusterCenter no.n: Este valor mede a distância entre o ponto de dados atual para o centroid para o cluster. Uma coluna separada na saída para cada cluster no modelo treinado.
Os valores para a distância do cluster baseiam-se na métrica da distância selecionada na opção, Métrica para medir o resultado do cluster. Mesmo que efetue uma varredura de parâmetros no modelo de agrupamento, apenas uma métrica pode ser aplicada durante a varredura. Se alterar a métrica, poderá obter valores de distância diferentes.
Visualizar distâncias intra-cluster
No conjunto de dados dos resultados da secção anterior, clique na coluna de distâncias para cada cluster. Estúdio (clássico) exibe um histograma que visualiza a distribuição de distâncias para pontos dentro do cluster.
Por exemplo, os seguintes histogramas mostram a distribuição das distâncias do cluster da mesma experiência, usando quatro métricas diferentes. Todas as outras definições para a varredura de parâmetros eram as mesmas. A alteração da métrica resultou num número diferente de aglomerados numa modelo.
Em geral, deve escolher uma métrica que maximize a distância entre pontos de dados em diferentes classes e minimize distâncias dentro de uma classe. Pode utilizar os meios pré-comutados e outros valores no painel de Estatísticas para guiá-lo nesta decisão.
Dica
Pode extrair meios e outros valores utilizados nas visualizações utilizando o módulo PowerShell para Machine Learning.
Ou use o módulo Execut R Script para calcular uma matriz de distância personalizada.
Sugestões para gerar os melhores modelo de agrupamento
Sabe-se que o processo de sementeira utilizado durante o agrupamento pode afetar significativamente a modelo. Sementeira significa a colocação inicial de pontos em centrosids potentes.
Por exemplo, se o conjunto de dados contiver muitos outliers, e um outlier é escolhido para semear os clusters, nenhum outro ponto de dados se encaixaria bem com esse cluster e o cluster poderia ser um singleton: isto é, um cluster com apenas um ponto.
Existem várias formas de evitar este problema:
Use uma varredura de parâmetros para alterar o número de centrosids e experimente vários valores de sementes.
Crie vários modelos, variando a métrica ou iando mais.
Utilize um método como o APC para encontrar variáveis que tenham um efeito prejudicial no agrupamento. Consulte a amostra de empresas similares Find para uma demonstração desta técnica.
Em geral, com modelos de agrupamento, é possível que qualquer configuração dada resulte num conjunto de clusters otimizado localmente. Por outras palavras, o conjunto de clusters devolvidos pelo modelo adequa-se apenas aos pontos de dados atuais, e não é generalizável a outros dados. Se usou uma configuração inicial diferente, o método K-significa pode encontrar uma configuração diferente, talvez superior.
Importante
Recomendamos que experimente sempre os parâmetros, crie vários modelos e compare os modelos resultantes.
Exemplos
Por exemplo, como o agrupamento K-significa é usado em Machine Learning, veja estas experiências na Galeria Azure AI:
Dados da íris do grupo: Compara os resultados do Clustering K-Means e da Regressão Logística Multiclass para uma tarefa de classificação.
Amostra de quantização de cor: Constrói vários modelos K-significa com diferentes parâmetros para encontrar a compressão de imagem ideal.
Agrupamento: Empresas similares: Varia o número de centrosids para encontrar grupos de empresas similares no S&P500.
Notas técnicas
Dado um número específico de clusters (K) para encontrar um conjunto de pontos de dados d-dimensional com pontos de dado n , o algoritmo K-significa constrói os clusters da seguinte forma:
O módulo inicializa uma matriz K-by-D com os centrosids finais que definem os clusters K encontrados.
Por predefinição, o módulo atribui os primeiros pontos de dados K aos clusters K .
Começando com um conjunto inicial de centrosids K , o método usa o algoritmo de Lloyd para refinar iterativamente as localizações dos centrosids.
O algoritmo termina quando os centrosides estabilizam ou quando um número especificado de iterações é concluído.
Uma métrica de semelhança (por defeito, distância euclideana) é usada para atribuir cada ponto de dados ao cluster que tem o centroid mais próximo.
Aviso
- Se passar uma gama de parâmetros para o Modelo de Agrupamento de Comboios, utiliza apenas o primeiro valor na lista de parâmetros.
- Se passar um único conjunto de valores de parâmetro para o módulo de Agrupamento de Varreduras , quando espera uma gama de definições para cada parâmetro, ignora os valores e utiliza os valores predefinidos para o aluno.
- Se selecionar a opção De Alcance de Parâmetros e introduzir um único valor para qualquer parâmetro, esse valor único especificado é utilizado ao longo da varredura, mesmo que outros parâmetros se alterem através de uma gama de valores.
Parâmetros do módulo
Nome | Intervalo | Tipo | Predefinição | Description |
---|---|---|---|---|
Número de Centrosids | >=2 | Número inteiro | 2 | Número de Centrosids |
Metric | Lista (subconjunto) | Metric | Euclideano | Métrica selecionada |
Inicialização | Lista | Método de inicialização centroídido | K-Means++ | Algoritmo de inicialização |
Iterações | >=1 | Número inteiro | 100 | Número de iterações |
Saídas
Nome | Tipo | Description |
---|---|---|
modelo destreinados | Interface ICluster | K-Means destreinado modelo |
Exceções
Para obter uma lista de todas as exceções, consulte Machine Learning Códigos de Erro do Módulo.
Exceção | Description |
---|---|
Erro 0003 | A exceção ocorre se uma ou mais entradas forem nulas ou vazias. |
Ver também
Clustering
Assign Data to Clusters (Atribuir Dados a Clusters)
Train Clustering Model (Preparar Modelo de Clustering)
Varrer Clustering