Árvore de decisão aumentada em duas classes

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)

Esse conteúdo pertence apenas ao estúdio (clássico). Módulos de arrastar e soltar semelhantes foram adicionados ao designer de Azure Machine Learning. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo árvore de decisão aumentada de duas classes no Azure Machine Learning Studio (clássico) para criar um modelo de aprendizado de máquina baseado no algoritmo árvores de decisão aumentada.

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 de pesquisa deste artigo.

Geralmente, quando configuradas corretamente, as árvores de decisão aumentadas 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 aumentada pode não ser capaz de processar os conjuntos de grandes volumes de informações que alguns aprendizes lineares podem manipular.

Para obter mais informações sobre como escolher um algoritmo, consulte estes recursos:

Como configurar Two-Class árvore de decisão aumentada

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 conjunto de informações marcado 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 hiperparâmetros de modelo .

  1. No Azure Machine Learning Studio (clássico), adicione o módulo árvore de decisão aumentada ao seu experimento.

  2. Especifique como você deseja que o modelo seja treinado, definindo a opção criar modo de instrutor .

    • Parâmetro único: se você souber como deseja configurar o modelo, poderá fornecer um conjunto específico de valores como argumentos.

    • Intervalo de parâmetros: se você não tiver certeza dos melhores parâmetros, poderá encontrar os parâmetros ideais usando o módulo ajustar hiperparâmetros de modelo . Você fornece algum intervalo de valores, e o instrutor itera em 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, digite um número entre 0 e 1 que defina o tamanho da etapa durante o aprendizado.

    A taxa de aprendizagem determina o quão rápido ou lento o aprendiz convergi na solução ideal. Se o tamanho da etapa for muito grande, você poderá exceder a solução ideal. Se o tamanho da etapa for muito pequeno, o treinamento levará mais tempo para convergir na melhor solução.

  6. Para o número de árvores construídas, indique o número total de árvores de decisão a serem criadas no Ensemble. 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, defina 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 iteração adicional é 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 garante reprodução entre as execuções que têm 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 execuções 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 de valores desconhecidos nos conjuntos de treinamento e validação.

    Se você desmarcar essa opção, o modelo poderá aceitar somente os valores contidos nos dados de treinamento.

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

  9. Treinar o modelo.

    • Se você definir criar modo de instrutor como um único parâmetro, conecte um conjunto de um DataSet marcado e o módulo treinar modelo .

    • Se você definir criar modo de instrutor como intervalo de parâmetros, conecte um conjunto de um DataSet marcado e treine o modelo usando ajustar hiperparâmetros de modelo.

    Observação

    Se você passar um intervalo de parâmetros para treinar o modelo, ele usará apenas o primeiro valor na lista intervalo de parâmetros.

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

    Se você 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 em treinar modelo módulo e selecione modelo treinado para visualizar. Se você usar os hiperparâmetros de modelo de ajuste, 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 uma busca detalhada nas divisões e ver as regras para cada nó.

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

Exemplos

Para obter exemplos de como as árvores de decisão aumentadas são usadas no aprendizado de máquina, consulte o Galeria de ia do Azure:

  • Marketing direto: usa o algoritmo de árvore de decisão aumentada de duas classes para prever desejo de clientes.

  • Previsão de atraso de voo: Este exemplo usa o algoritmo de árvore de decisão aumentada de duas classes para determinar se um vôo provavelmente será atrasado.

  • Risco de cartão de crédito: Este exemplo usa o algoritmo de árvore de decisão aumentada 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 impulsionado, você deve fornecer várias instâncias de dados. Um erro será gerado durante o processo de treinamento se o conjunto de registros contiver poucas linhas.

  • Se os dados tiverem valores ausentes, você deverá 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 tiverem um grande grau de entropia (ou seja, eles não estiverem relacionados), eles compartilharão pouca ou nenhuma informação mútua, e ordená-los em uma árvore não produzirá muita importância preditiva. Se esse não for o caso, você poderá tentar um modelo de florestas aleatória.

    O aumento também funciona bem quando você tem muitos outros exemplos de recursos, pois o modelo está propenso a sobreajuste.

  • Não normalizar o conjunto de os. 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ônico 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 da implementação

Para obter informações detalhadas sobre o algoritmo de árvore de decisão aumentada, consulte aproximação da função de ávido: um gradiente de aumento de um computador.

O algoritmo de árvore de decisão aumentada no Azure 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. Esta é a soma das saídas de todos os aprendizes 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 se ajustar a um aprendiz fraco, usando o gradiente apenas definido 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.

    Nessa implementação, os aprendizes fracos são as árvores de regressão de quadrados mínimos, 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 greedily seleciona o recurso e o limite para o qual uma divisão minimiza a perda de quadrado 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 esteja disponível.

Parâmetros do módulo

Nome Intervalo Type Padrão Descrição
Número máximo de folhas por árvore >= 1 Inteiro 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 Inteiro 100 Especifique o número máximo de árvores que podem ser criadas durante o treinamento
Propagação de número aleatório Qualquer Inteiro 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 Type Descrição
Modelo não treinado Interface ILearner Um modelo de classificação binária não treinado

Veja também

Classificação
Regressão da árvore de decisão aumentada
Lista de Módulo A-Z