Árvore de decisão aumentada em duas classes

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Cria um classificador binário usando um algoritmo de árvore de decisão impulsionada

Categoria: Machine Learning/Inicializar modelo/classificação

Observação

Aplica-se a: Machine Learning Studio (clássico) somente

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

Este artigo descreve como usar o módulo Árvore de Decisão Reforçada de Duas Classes no Machine Learning Studio (clássico) para criar um modelo de machine learning baseado no algoritmo de árvores de decisão ativas.

Uma árvore de decisão aumentada é um método de aprendizado Ensemble no qual a segunda árvore corrige os erros da primeira árvore, a terceira árvore corrige os erros da primeira e segunda árvores e assim por diante. As previsões são baseadas em toda a Ensemble de árvores juntas que faz a previsão. Para obter mais detalhes técnicos, consulte a seção Pesquisa deste artigo.

Em geral, quando configuradas corretamente, as árvores de decisão ampliadas são os métodos mais fáceis com os quais obter o melhor desempenho em uma ampla variedade de tarefas de aprendizado de máquina. No entanto, eles também são um dos mais aprendizes com uso intensivo de memória e a implementação atual contém tudo na memória. Portanto, um modelo de árvore de decisão reforçada pode não ser capaz de processar os conjuntos de dados muito grandes que alguns alunos lineares podem manipular.

Como configurar uma Two-Class de Decisão Reforçada

Este módulo cria um modelo de classificação não treinado. Como a classificação é um método de aprendizado supervisionado, para treinar o modelo, você precisa de um conjuntos de dados marcados que inclua uma coluna de rótulo com um valor para todas as linhas.

Você pode treinar esse tipo de modelo usando os módulos Treinar Modelo ou Ajustar Hiperparmetros do Modelo.

  1. No Machine Learning Studio (clássico), adicione o módulo Árvore de Decisão Reforçada ao seu experimento.

  2. Especifique de que modo você quer que o modelo seja treinado ao definir a opção Criar modo de treinador.

    • Parâmetro Único: se você sabe como deseja configurar o modelo, é possível fornecer um conjunto específico de valores como argumentos.

    • Intervalo de Parâmetros: caso não tenha certeza de quais são os melhores parâmetros, você pode encontrar os parâmetros ideais usando o módulo Ajustar Hiperparâmetros do Modelo. Você fornece algum intervalo de valores, e o treinador itera com várias combinações de configurações para determinar a combinação de valores que produz o melhor resultado.

  3. Para o número máximo de folhas por árvore: indique o número máximo de nós de terminal (folhas) que podem ser criados em qualquer árvore.

    Aumentando este valor, você aumenta potencialmente o tamanho da árvore e obtém maior precisão, com o risco de sobreajuste e tempo de treinamento maior.

  4. Para o número mínimo de amostras por nó folha: indique o número de casos necessários para criar qualquer nó de terminal (folha) em uma árvore.

    Aumentando esse valor, você aumenta o limite para a criação de novas regras. Por exemplo, com o valor padrão de 1, um único caso pode causar uma nova regra a ser criada. Se você aumentar o valor para 5, os dados de treinamento precisam conter pelo menos 5 casos que atendem as mesmas condições.

  5. Para taxa de aprendizagem: insira um número entre 0 e 1 que define o tamanho da etapa durante a aprendizagem.

    A taxa de aprendizagem determina a velocidade com que o aprendiz converge para a solução ideal. Se o tamanho da etapa for muito grande, você poderá exceder a solução ideal. Se ele for muito pequeno, o treinamento levará mais tempo para convergir para a melhor solução.

  6. Para número de árvores construídas, indique o número total de árvores de decisão a serem criadas no conjunto. Criando mais árvores de decisão, você pode potencialmente obter melhor cobertura, mas aumentará o tempo de treinamento.

    Esse valor também controla o número de árvores exibidas ao visualizar o modelo treinado. se você quiser ver ou imprimir uma única árvore, de definir o valor como 1. No entanto, quando você faz isso, apenas uma árvore é produzida (a árvore com o conjunto inicial de parâmetros) e nenhuma outra iteração é executada.

  7. Para semente de número aleatório, opcionalmente, digite um inteiro não negativo para usar como o valor de semente aleatória. A especificação de uma semente assegura a capacidade de reprodução entre execuções que usam os mesmos dados e parâmetros.

    A semente aleatória é definida por padrão como 0, o que significa que o valor de semente inicial é obtido do relógio do sistema. As sequências sucessivas usando uma semente aleatória podem ter resultados diferentes.

  8. Selecione a opção Permitir níveis categóricos desconhecidos para criar um grupo para valores desconhecidos nos conjuntos de treinamento e validação.

    Se você desmarcar essa opção, o modelo pode aceitar apenas os valores que estão contidos nos dados de treinamento.

    Se você permitir valores desconhecidos, o modelo poderá ser menos preciso para valores conhecidos, mas provavelmente poderá fornecer previsões melhores para novos valores (desconhecidos).

  9. Treinar o modelo.

    • Se você definir Criar modo de aprendizagem como Parâmetro único, conecte um conjunto de dados marcado e o módulo Treinar modelo.

    • Se definir Criar modo de aprendizagem como Intervalo de parâmetros, conecte um conjunto de dados marcado e treine o modelo usando Ajustar hiperparâmetros do modelo.

    Observação

    Se você transmitir um intervalo de parâmetros para o módulo Treinar modelo, ele usará apenas o primeiro valor da lista de intervalo de parâmetros.

    Se você passar apenas um conjunto de valores de parâmetro para o módulo Ajustar hiperparâmetros do modelo quando ele espera receber um intervalo de configurações para cada parâmetro, ele ignorará os valores e usará os valores padrão para o aprendiz.

    Se selecionar a opção Intervalo de Parâmetros e inserir um único valor para qualquer parâmetro, esse valor único especificado será usado em toda a varredura, mesmo que outros parâmetros sejam alterados em um intervalo de valores.

Resultados

Após a conclusão do treinamento:

  • Para ver a árvore que foi criada em cada iteração, clique com o botão direito do mouse no módulo Treinar Modelo e selecione Modelo treinado para visualizar. Se você usar Ajustar Hiperparérmetros de Modelo, clique com o botão direito do mouse no módulo e selecione Melhor modelo treinado para visualizar o melhor modelo.

    Clique em cada árvore para fazer drill down nas divisãos e ver as regras de cada nó.

  • Para usar o modelo para pontuação, conecte-o ao Modelo de Pontuação para prever valores para novos exemplos de entrada.

Exemplos

Para ver exemplos de como as árvores de decisão reforçadas são usadas no aprendizado de máquina, consulte a Galeria de IA do Azure:

  • Marketing direto: usa o algoritmo Árvore de Decisão Reforçada de Duas Classes para prever a aplicação do cliente.

  • Previsão de atraso de voo: este exemplo usa o algoritmo Árvore de Decisão Reforçada de Duas Classes para determinar se um voo provavelmente será atrasado.

  • Risco de cartão de crédito: este exemplo usa o algoritmo Árvore de Decisão Reforçada de Duas Classes para prever o risco.

Observações técnicas

Esta seção contém detalhes de implementação e perguntas frequentes.

Dicas de uso

  • Para treinar um modelo de árvore de decisão reforçada, você deve fornecer várias instâncias de dados. Um erro será gerado durante o processo de treinamento se o conjuntos de dados contiver poucas linhas.

  • Se os dados não têm valores, você deve adicionar indicadores para os recursos.

  • Em geral, as árvores de decisão ampliadas produzem resultados melhores quando os recursos estiverem ligeiramente relacionados. Se os recursos têm um grande grau de entropia (ou seja, eles não estão relacionados), eles compartilham pouca ou nenhuma informação mútua e ordena-los em uma árvore não produz muita importância preditiva. Se esse não for o caso, você poderá tentar um modelo de florestas aleatórias.

    O aumento também funciona bem quando você tem muito mais exemplos do que recursos porque o modelo está propenso a sobreajuste.

  • Não normalize o conjuntos de dados. Como o tratamento de recursos é uma comparação simples, não paramétrica, menor que ou maior que, a normalização ou qualquer forma de função de transformação não monotônica pode ter pouco efeito.

  • Os recursos são diferenciados e guardados antes do treinamento, portanto, somente um conjunto relativamente pequeno de candidatos de limite são considerados, mesmo para recursos contínuos.

Detalhes de implementação

Para obter informações detalhadas sobre o algoritmo de árvore de decisão reforçada, consulte Aproximação de função greedy: máquinas de aumento de gradiente.

O algoritmo de árvore de decisão reforçada no Machine Learning usa o seguinte método de aumento:

  1. Comece com um ensemble vazio de aprendizes fracos.

  2. Para cada exemplo de treinamento, obtenha a saída atual do ensemble. Essa é a soma das saídas de todos os alunos fracos no ensemble.

  3. Calcule o gradiente da função de perda para cada exemplo.

    Isso depende se a tarefa é um problema de classificação binária ou um problema de regressão.

    • Em um modelo de classificação binário, o log-loss é usado, quase como na regressão lógica.

    • Para um modelo de regressão, a perda de quadrados é usada e o gradiente é a saída atual, menos o destino).

  4. Use os exemplos para ajustar um aluno fraco, usando o gradiente definido apenas como a função de destino.

  5. Adicione esse aprendiz fraco para ensemble com uma força indicada pela taxa de aprendizagem e, se desejado, vá para a Etapa 2.

    Nesta implementação, os alunos fracos são as árvores de regressão com menos quadrados, com base nos gradientes calculados na Etapa 3. As árvores estão sujeitas às seguintes restrições:

    • Elas são treinados para até um número máximo de folhas.

    • Cada folha tem um número mínimo de exemplos para proteger contra a superajuste.

    • Cada nó de decisão é um recurso único comparado ao limite. Se esse recurso for menor ou igual ao limite, ele diminui um caminho e, se for maior que o limite, vai pelo outro caminho.

    • Cada nó da folha é um valor constante.

  6. O algoritmo de criação de árvore seleciona greedamente o recurso e o limite para o qual uma divisão minimiza a perda quadrada em relação ao gradiente calculado na Etapa 3. A seleção da divisão está sujeita a um número mínimo de exemplos de treinamento por folha.

    O algoritmo é dividido repetidamente até atingir o número máximo de folhas ou até que nenhuma divisão válida seja disponibilizada.

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Número máximo de folhas por árvore >=1 Integer 20 Especifique o número máximo de folhas permitidas por árvore
Número mínimo de amostras por nó folha >=1 Integer 10 Especifique o número mínimo de casos necessários para formar uma folha
Taxa de aprendizado [double.Epsilon;1.0] Float 0,2 Especificar a taxa de aprendizagem inicial
Número de árvores construídas >=1 Integer 100 Especifique o número máximo de árvores que podem ser criadas durante o treinamento
Propagação de número aleatório Qualquer Integer Digite um valor para propagar o gerador de número aleatório usado pelo modelo. Deixe em branco para o padrão.
Permitir níveis categóricos desconhecidos Qualquer Booliano verdadeiro Se True, cria um nível adicional para cada coluna categórica. Quaisquer níveis no conjunto de dados teste que não estão disponíveis no conjunto de dados de treinamento são mapeados para este nível adicional.

Saída

Nome Tipo Descrição
Modelo não treinado Interface ILearner Um modelo de classificação binária não treinado

Confira também

Classificação
Regressão de Árvore de Decisão Aumentada
Lista de Módulo A-Z