Compartilhamento de tecnologia

Aprendizado de Máquina - Árvore de Decisão (Notas)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Índice

1. Compreender as árvores de decisão

1. Introdução

2. Processo de geração de árvore de decisão

2. Árvore de decisão no sklearn

1. tree.DecisionTreeClassifier (árvore de classificação)

(1) Parâmetros básicos do modelo

(2) Atributos do modelo

(3) Interface

2. tree.DecisionTreeRegressor (árvore de regressão)

3. tree.export_graphviz (exporta a árvore de decisão gerada para o formato DOT, especificamente para desenho)

4. Outros (suplementares)

3. Vantagens e desvantagens das árvores de decisão

1. Vantagens

2. Desvantagens


1. Compreender as árvores de decisão

1. Introdução

Árvore de decisão é umMétodos de aprendizagem supervisionada não paramétrica, que pode selecionar entre uma série de As regras de decisão são resumidas a partir de dados com características e rótulos, e essas regras são apresentadas em uma estrutura de diagrama de árvore para resolver problemas de classificação e regressão.Os algoritmos de árvore de decisão são fáceis de entender, aplicáveis ​​a vários dados e têm um bom desempenho na resolução de vários problemas. Em particular, vários algoritmos integrados com modelos de árvore como núcleo são amplamente utilizados em vários setores e campos.

2. Processo de geração de árvore de decisão

O conjunto de dados acima é Dados sobre uma lista de espécies conhecidas e suas categorias .Nosso objetivo atual é dividir os animais emMamíferos e não mamíferos . Com base nos dados coletados, o algoritmo da árvore de decisão pode calcular a seguinte árvore de decisão:

Se descobrirmos agora uma nova espécie A, que é um animal de sangue frio com escamas no corpo e não vivíparo, podemos julgar sua espécie através desta árvore de decisão categoria

Conceitos-chave envolvidos: nós

① Nó raiz : Não há borda de entrada, mas sim uma borda de saída. Contém perguntas iniciais focadas em recursos.

② Nó intermediário : Existem bordas de entrada e de saída. Há apenas uma borda de entrada, mas pode haver muitas bordas de saída. Todas são questões sobre características.

③ Nó folha: há arestas de entrada e nenhuma aresta de saída.

④ Nós filhos e nós pais: Entre dois nós conectados, aquele mais próximo do nó raiz é o nó pai e o outro é o nó filho.

2. Árvore de decisão no sklearn

Módulos envolvidos: sklearn.tree

1. tree.DecisionTreeClassifier (árvore de classificação)

(1) Parâmetros básicos do modelo

(2) Atributos do modelo

(3) Interface

2. tree.DecisionTreeRegressor (árvore de regressão)

Parâmetros importantescritério

        A árvore de regressão mede a qualidade do ramo, existem três padrões suportados:

    ① Digite "mse" para usar o erro quadrático médio (MSE), a diferença do erro quadrático médio entre o nó pai e o nó folha será usada como critério para seleção de recursos. Este método minimiza a perda L2 usando o valor médio do nó folha.

     ② Digite "friedman_mse" para usar o erro quadrático médio de Feldman, uma métrica que usa o erro quadrático médio modificado de Friedman para problemas em ramificações latentes.

     ③ Digite "mae" para usar o erro médio absoluto MAE (erro médio absoluto), esta métrica usa o valor mediano dos nós folha para minimizar a perda L1.

3. tree.export_graphviz (exporta a árvore de decisão gerada para o formato DOT, especificamente para desenho)

4. Outros (suplementares)

        ① O cálculo da entropia da informação é mais lento que o coeficiente de biquíni. , pois o cálculo do coeficiente de Gini não envolve logaritmos.Além disso, como a entropia da informação é mais sensível à impureza, entãoQuando a entropia da informação é usada como indicador, o crescimento da árvore de decisão será mais “fino”, portanto, para dados de alta dimensão ou com muito ruído, é fácil superajustar a entropia da informação, e o coeficiente de Gini geralmente funciona melhor nesse caso.

② random_state é usado para definir os parâmetros do padrão aleatório na ramificação. O padrão é Nenhum.A aleatoriedade será mais óbvia em dimensões altas. Em dados de baixa dimensão (como o conjunto de dados da íris), a aleatoriedade dificilmente aparecerá. . Insira qualquer número inteiro e a mesma árvore sempre crescerá, permitindo que o modelo se estabilize.

③ O divisor também é usado para controlar as opções aleatórias na árvore de decisão. Existem dois valores de entrada. Insira "melhor". Embora a árvore de decisão seja aleatória durante a ramificação, ela ainda dará prioridade aos recursos mais importantes para a ramificação. pode ser visualizado através do atributo feature_importances_),Digite "aleatório" e a árvore de decisão será mais aleatória ao ramificar, a árvore será mais profunda e maior porque contém mais informações desnecessárias, e o ajuste ao conjunto de treinamento será reduzido devido a essas informações desnecessárias.

④ Sem restrições, uma árvore de decisão crescerá até que o índice que mede a impureza seja ideal ou até que não haja mais recursos disponíveis.Para que a árvore de decisão tenha uma melhor generalização, a árvore de decisão precisa serpoda . As estratégias de poda têm um enorme impacto nas árvores de decisão.A estratégia de poda correta é o núcleo da otimização do algoritmo da árvore de decisão

3. Vantagens e desvantagens das árvores de decisão

1. Vantagens

① Fácil de entender e explicar porque as árvores podem ser desenhadas e vistas.

② Requer pouca preparação de dados. Muitos outros algoritmos geralmente requerem normalização de dados, criação de variáveis ​​fictícias e remoção de valores nulos, etc.masO módulo de árvore de decisão no sklearn não suporta o processamento de valores ausentes

③ Usar custo da árvore(por exemplo, ao prever dados) é o logaritmo do número de pontos de dados usados ​​para treinar a árvore, que tem um custo muito baixo comparado a outros algoritmos.

④ Capaz de processar dados numéricos e categóricos simultaneamente,Tanto regressão quanto classificação podem ser feitas . Outras técnicas são frequentemente especializadas para analisar conjuntos de dados com apenas um tipo de variável.

⑤ Capaz de lidar com problemas de múltiplas saídas, ou seja, problemas com múltiplos rótulos (observe que eles são diferenciados de problemas com múltiplas classificações de rótulos em um rótulo)

⑥ é um modelo de caixa branca , os resultados são facilmente interpretáveis. Se uma determinada situação puder ser observada no modelo, as condições poderão ser facilmente explicadas através da lógica booleana. Em contraste, em modelos de caixa preta (por exemplo, em redes neurais artificiais), os resultados podem ser mais difíceis de interpretar.

⑦ O modelo pode ser verificado por meio de testes estatísticos, o que nos permite considerar a confiabilidade do modelo. Pode ter um bom desempenho mesmo que os seus pressupostos violem, até certo ponto, o modelo real que gerou os dados.

2. Desvantagens

① Os alunos da árvore de decisão podem criar árvores excessivamente complexas que não generalizam bem os dados. Isso é chamado de sobreajuste. ameixa seca,Mecanismos como definir o número mínimo de amostras necessárias para um nó folha ou definir a profundidade máxima da árvoreé necessário para evitar esse problema.

② As árvores de decisão podem ser instáveis ​​e pequenas alterações nos dados podem levar à geração de árvores completamente diferentes. Este problema precisa ser resolvido através de um algoritmo integrado.

③ O aprendizado da árvore de decisão é baseado emalgoritmo ganancioso, depende Otimizar o ótimo local (o ótimo de cada nó) para tentar alcançar o ótimo geral, mas esta abordagem não garante o retorno da árvore de decisão ideal global. Este problema também pode ser resolvido por algoritmos de conjunto. Em florestas aleatórias, características e amostras são amostradas aleatoriamente durante o processo de ramificação.

④ Alguns conceitos são difíceis de aprender porque as árvores de decisão não os expressam facilmente, como problemas de XOR, paridade ou multiplexador.

⑤ Se certas classes nos rótulos forem dominantes, o aluno da árvore de decisão cria árvores que são tendenciosas em direção às classes dominantes.Portanto, é recomendado que antes de montar uma árvore de decisãoConjunto de dados balanceado