Compartilhar via


Como selecionar algoritmos do Azure Machine Learning

Importante

Este artigo fornece informações sobre como usar o SDK do Azure Machine Learning v1. O SDK v1 foi preterido a partir de 31 de março de 2025. O suporte para ele terminará em 30 de junho de 2026. Você pode instalar e usar o SDK v1 até essa data. Seus fluxos de trabalho existentes usando o SDK v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.

Recomendamos que você faça a transição para o SDK v2 antes de 30 de junho de 2026. Para obter mais informações sobre o SDK v2, consulte o que é a CLI do Azure Machine Learning e o SDK do Python v2? e a referência do SDK v2.

Se você estiver se perguntando qual algoritmo de aprendizado de máquina usar, a resposta depende principalmente de dois aspectos do seu cenário de ciência de dados:

  • O que você quer fazer com seus dados? Especificamente, qual é a pergunta comercial que você quer responder aprendendo com seus dados anteriores?

  • Quais são os requisitos de seu cenário de ciência de dados? Quais são os recursos, a precisão, o tempo de treinamento, a linearidade e os parâmetros que sua solução oferece suporte?

Diagrama que mostra considerações para escolher algoritmos de aprendizado de máquina.

Observação

O designer do Azure Machine Learning oferece suporte a dois tipos de componentes: componentes predefinidos clássicos (v1) e componentes personalizados (v2). Esses dois tipos de componentes NÃO são compatíveis.

Os componentes predefinidos clássicos destinam-se principalmente ao processamento de dados e às tarefas tradicionais de aprendizado de máquina, como regressão e classificação. Esse tipo de componente continua a ter suporte, mas não terá nenhum componente novo adicionado.

Componentes personalizados permitem que você envolva seu próprio código como um componente. Eles dão suporte ao compartilhamento de componentes entre workspaces e a criação contínua nas interfaces do Estúdio, da CLI v2 e do SDK v2.

Para novos projetos, é altamente recomendável que você use componentes personalizados, que são compatíveis com o AzureML V2 e receberão novas atualizações.

Este artigo se aplica aos componentes predefinidos clássicos e não é compatível com CLI v2 e SDK v2.

Folha de Referências do Algoritmo do Azure Machine Learning

A Folha de Referências do Algoritmo do Azure Machine Learning ajudará você com a primeira consideração: O que você quer fazer com seus dados? Na folha de referências, procure a tarefa que você quer executar e, em seguida, encontre um algoritmo do designer do Azure Machine Learning para a solução de análise preditiva.

Observação

Você pode baixar a Folha de Referências do Algoritmo do Machine Learning.

O designer fornece um portfólio abrangente de algoritmos, incluindo:

Cada algoritmo foi projetado para atender a um tipo diferente de problema de aprendizado de máquina. Para obter uma lista completa, juntamente com a documentação sobre como cada algoritmo funciona e como ajustar parâmetros para otimizar o algoritmo, consulte o algoritmo e a referência de componente.

Junto com essas diretrizes, tenha em mente outros requisitos ao escolher um algoritmo de aprendizado de máquina. A seguir estão outros fatores a serem considerados, como precisão, tempo de treinamento, linearidade, número de parâmetros e número de recursos.

Comparação dos tipos de algoritmos de aprendizado de máquina

Alguns algoritmos fazem suposições específicas sobre a estrutura dos dados ou sobre os resultados desejados. Se você encontrar um que atenda às suas necessidades, ele poderá fornecer resultados mais úteis, previsões mais precisas ou tempos de treinamento mais rápidos.

A tabela a seguir resume algumas das características mais importantes dos algoritmos das famílias de classificação, regressão e clustering:

Algoritmo Precisão Tempo de treinamento Linearidade Parâmetros Observações
Família de classificação
Regressão logística de duas classes Bom Rápido Sim 4
Floresta de decisão de duas classes Excelente Moderado Não 5 Mostra tempos de pontuação mais lentos. Sugerimos não trabalhar com o algoritmo Multiclasse Um contra Todos, devido aos tempos de pontuação mais lentos causados ​​pelo bloqueio de threads na acumulação de previsões da árvore.
Árvore de decisão aumentada de duas classes Excelente Moderado Não 6 Grande volume de memória
Rede neural de duas classes Bom Moderado Não oito
Perceptron médio de duas classes Bom Moderado Sim 4
Computador de vetor de suporte de duas classes Bom Rápido Sim 5 Bom para conjuntos de recursos grandes
Regressão logística multiclasse Bom Rápido Sim 4
Floresta de decisão multiclasse Excelente Moderado Não 5 Mostra tempos de pontuação mais lentos
Árvore de decisão aumentada multiclasse Excelente Moderado Não 6 Tende a melhorar a precisão com um pequeno risco de menos cobertura
Rede neural multiclasse Bom Moderado Não oito
Multiclasse Um contra Todos - - - - Consulte as propriedades do método de duas classes selecionado
Família de regressão
Regressão linear Bom Rápido Sim 4
Regressão de floresta de decisão Excelente Moderado Não 5
Regressão de árvore de decisão aumentada Excelente Moderado Não 6 Grande volume de memória
Regressão de rede neural Bom Moderado Não oito
Família de clustering
Clustering K-means Excelente Moderado Sim oito Um algoritmo de clustering

Requisitos de cenário de ciência de dados

Depois de saber o que deseja fazer com seus dados, você precisa determinar outros requisitos para seu cenário de ciência de dados.

Faça escolhas e, possivelmente, compensações para os seguintes requisitos:

  • Precisão
  • Tempo de treinamento
  • Linearidade
  • Número de parâmetros
  • Número de recursos

Precisão

A precisão no aprendizado de máquina mede a eficácia de um modelo como a proporção entre os resultados verdadeiros com o total de casos. No designer, o componente Avaliar Modelo calcula um conjunto de métricas de avaliação padrão do setor. É possível usar esse componente para medir a precisão de um modelo treinado.

Obter a resposta mais precisa possível nem sempre será necessário. Às vezes uma aproximação será adequada, dependendo do uso que você quiser dar a ela. Se esse for o caso, talvez seja possível reduzir drasticamente o tempo de processamento usando métodos mais aproximados. Os métodos aproximados também tendem naturalmente a evitar o sobreajuste.

Há três maneiras de usar o componente Avaliar Modelo:

  • Gere pontuações em seus dados de treinamento para avaliar o modelo.
  • Gere pontuações no modelo, mas compare essas pontuações com as pontuações em um conjunto de testes reservado.
  • Compare as pontuações de dois modelos diferentes, mas relacionados, usando o mesmo conjunto de dados.

Para obter uma lista completa de métricas e abordagens que você pode usar para avaliar a precisão dos modelos de aprendizado de máquina, confira o componente Avaliar Modelo.

Tempo de treinamento

No aprendizado supervisionado, treinamento significa usar dados históricos para criar um modelo de aprendizado de máquina que minimiza os erros. O número de minutos ou de horas necessários para treinar um modelo varia muito entre algoritmos. Em geral, o tempo de treinamento está intimamente vinculado à precisão; um normalmente acompanha o outro.

Além disso, alguns algoritmos são mais sensíveis ao número de pontos de dados do que outros. Você pode escolher um algoritmo específico porque tem uma limitação de tempo, especialmente quando o conjunto de dados é grande.

No designer, a criação e o uso de um modelo de machine learning é normalmente um processo de três etapas:

  1. Configure um modelo escolhendo um tipo específico de algoritmo e, em seguida, definindo seus parâmetros ou hiperparâmetros.

  2. Forneça um conjunto de dados rotulado e com dados compatíveis com o algoritmo. Conecte os dados e o modelo ao componente Treinar Modelo.

  3. Após a conclusão do treinamento, use o modelo treinado com um dos componentes de pontuação para fazer previsões sobre os novos dados.

Linearidade

A linearidade em estatísticas e no aprendizado de máquina significa que há uma relação linear entre uma variável e uma constante no conjunto de dados. Por exemplo, algoritmos de classificação linear pressupõem que uma linha reta ou seu analógico de dimensão superior pode separar classes.

Muitos algoritmos de aprendizado de máquina usam a linearidade. No Azure Machine Learning Designer, eles incluem:

Os algoritmos de regressão linear supõem que as tendências de dados seguem uma linha reta. Essa suposição não é muito boa para alguns problemas, mas, para outros, ela reduz a precisão. Apesar das desvantagens, os algoritmos lineares são populares como uma primeira estratégia. Eles tendem a ser algoritmicamente simples e rápidos de treinar.

Grafo que mostra um limite de classe não linear.

Limite de classe não linear: contar com um algoritmo de classificação linear resultaria em baixa precisão.

Grafo que mostra dados com uma tendência não linear.

Dados com uma tendência não linear: usar um método de regressão linear geraria erros muito maiores do que o necessário.

Número de parâmetros

Os parâmetros são os botões que um cientista de dados pode ativar ao configurar um algoritmo. São números que afetam o comportamento do algoritmo. Os exemplos incluem tolerância a erros ou número de iterações e opções entre variantes de como o algoritmo se comporta.

O tempo de treinamento e a precisão do algoritmo podem ser sensíveis à necessidade de ajustar corretamente as configurações. Em geral, os algoritmos com um grande número de parâmetros exigem mais tentativas e erros para a localização de uma boa combinação.

Como alternativa, há o componente Ajustar Hiperparâmetros de Modelo no designer. O objetivo desse componente é determinar os hiperparâmetros ideais para um modelo de machine learning. O componente compila e testa vários modelos usando diferentes combinações de configurações. Ele compara as métricas em todos os modelos para obter as combinações de configurações.

Embora essa abordagem seja uma ótima maneira de garantir que você abranga o espaço de parâmetro, o tempo necessário para treinar um modelo aumenta exponencialmente com o número de parâmetros. A vantagem é que ter muitos parâmetros geralmente indica que um algoritmo tem mais flexibilidade. Geralmente, isso pode atingir uma precisão muito boa, desde que você encontre a combinação certa de configurações de parâmetro.

Número de recursos

No aprendizado de máquina, um recurso é uma variável quantificável do fenômeno que você está tentando analisar. Para determinados tipos de dados, o número de recursos pode ser muito grande em comparação ao número de pontos de dados. Essa situação geralmente ocorre com dados genéticos ou textuais.

Um grande número de recursos pode reduzir alguns algoritmos de aprendizado, fazendo com que o tempo de treinamento seja impraticável. As máquinas de vetores de suporte são adequadas para cenários com um grande número de recursos. Por esse motivo, eles são usados em muitos aplicativos, desde a recuperação de informações até a classificação de texto e imagem. É possível usar as máquinas de vetor de suporte para tarefas de classificação e de regressão.

A seleção de recursos refere-se ao processo de aplicação de testes estatísticos a entradas, dado uma saída especificada. O objetivo é determinar quais colunas são mais previsíveis na saída. O componente Seleção de Recursos Baseada em Filtro no designer oferece vários algoritmos de seleção de recursos para escolha. O componente inclui métodos de correlação, como os valores de correlação Pearson e qui-quadrado.

Também é possível usar o componente Importância do Recurso de Permuta para calcular um conjunto de pontuações de importância do recurso para seu conjunto de dados. Em seguida, você pode usar essas pontuações para ajudar você a determinar os melhores recursos a serem usados em um modelo.