Árvore de Decisão

PlantUML Syntax:</p>
<p>@startmindmap</p>
<p>title Classificacao</p>
<p>* Classificacao<br />
** Classificacao Binaria\nExemplo: Classificacao da Flor de Iris: Setosa ou Versicolor.<br />
** Classificacao Multiclasse\nExemplo: Classificacao numero: 0,1,2,3,4,5,6,7,8 ou 9.</p>
<p>@endmindmap</p>
<p>

Classificando Flores Íris

Você já imaginou ensinar um computador a identificar diferentes tipos de flores? Na Aprendizagem de Máquina, essa tarefa torna-se possível através de modelos que reconhecem padrões nos dados. As Árvores de Decisão destacam-se como uma das técnicas mais amigáveis para iniciantes. Elas funcionam de maneira similar a um jogo de perguntas e respostas. Para demonstrar esse conceito, utilizaremos o clássico conjunto load_iris. Este dataset reúne medidas de três espécies de flores Íris. Sua popularidade no ensino deve-se à combinação equilibrada de simplicidade e desafio. Portanto, ele representa uma escolha ideal para nossos primeiros passos na área.

PlantUML Syntax:</p>
<p>@startuml</p>
<p>title Arvore de Decisao – Iris</p>
<p>start</p>
<p>:petal width (cm) <= 0.8\n<br />
gini = 0.667\n<br />
samples = 150\n<br />
value = [50, 50, 50]\n<br />
class = setosa;</p>
<p>if (petal width (cm) <= 0.8 ?) then (yes)<br />
:gini = 0.0\n<br />
samples = 50\n<br />
value = [50, 0, 0]\n<br />
class = setosa;<br />
else (no)<br />
:gini = 0.5\n<br />
samples = 100\n<br />
value = [0, 50, 50]\n<br />
class = versicolor;<br />
endif</p>
<p>stop</p>
<p>@enduml</p>
<p>

O Funcionamento das Árvores de Decisão

Uma Árvore de Decisão assemelha-se a um fluxograma de perguntas organizadas hierarquicamente. O processo inicia-se no topo, chamado de nó raiz, com uma questão sobre alguma característica da flor. Por exemplo, podemos perguntar sobre o comprimento da pétala. A resposta determina qual caminho seguir pelos galhos da estrutura. Cada novo nó apresenta outra pergunta, refinando gradualmente a classificação. Esse ciclo repete-se até alcançarmos uma folha, que representa a decisão final sobre a espécie. O computador constrói essa estrutura automaticamente durante o treinamento. Consequentemente, o modelo resultante revela-se facilmente interpretável por humanos. Além disso, sua lógica pode ser explicada até mesmo para não especialistas.

Explorando o Conjunto de Dados load_iris

O dataset load_iris foi introduzido pelo estatístico Ronald Fisher em 1936. Ele contém 150 amostras distribuídas igualmente entre três espécies de Íris. Cada amostra inclui quatro medidas em centímetros: comprimento e largura da sépala, além de comprimento e largura da pétala. O objetivo principal consiste em classificar a espécie com base nessas características físicas. A espécie Setosa diferencia-se facilmente das demais pelo comprimento reduzido de suas pétalas. As espécies Versicolor e Virginica, entretanto, apresentam medidas parcialmente sobrepostas. Dessa forma, o dataset permite demonstrar tanto classificações simples quanto situações mais complexas. Por essa razão, ele permanece relevante após décadas de uso acadêmico.

O Processo de Construção da Árvore

Durante o treinamento, o computador precisa determinar a melhor sequência de perguntas possível. Ele utiliza critérios matemáticos como o Índice Gini para orientar suas escolhas. Este índice mede a pureza dos grupos formados após cada divisão dos dados. Inicialmente, todas as amostras encontram-se misturadas em um único conjunto. O algoritmo testa diferentes perguntas e avalia como elas separam os elementos. A pergunta vencedora será aquela que criar os grupos mais homogêneos. Após essa primeira divisão bem-sucedida, o processo repete-se recursivamente em cada novo galho. Consequentemente, a árvore vai crescendo até que um critério de parada seja finalmente atingido.

Visualizando a Estrutura Aprendida

Após o treinamento concluído, podemos visualizar a árvore resultante de forma clara e intuitiva. Uma árvore típica começaria perguntando sobre o comprimento da pétala. Valores menores ou iguais a 2,45 centímetros levariam diretamente à classificação Setosa. Valores maiores exigiriam uma segunda pergunta, provavelmente sobre a largura da pétala. Se a largura for menor ou igual a 1,75 centímetros, a flor seria classificada como Versicolor. Caso contrário, ela seria identificada como Virginica. Qualquer pessoa consegue acompanhar esse raciocínio lógico sem dificuldade. Portanto, a transparência do modelo torna-se uma de suas maiores vantagens práticas.

Aplicações Práticas e Cuidados Necessários

Depois de construída, a árvore pode classificar novas flores nunca antes vistas. O modelo recebe as medidas da flor desconhecida e percorre automaticamente o caminho de perguntas estabelecido. Ao final desse percurso, obtemos a classificação prevista para aquela amostra. A precisão do modelo deve ser avaliada com um conjunto de testes separado. Árvores excessivamente profundas, entretanto, podem sofrer de overfitting. Nesse problema, o modelo decora os exemplos de treinamento mas falha em generalizar. Quando bem construídas, porém, essas árvores encontram aplicações valiosas em diagnósticos médicos e análises financeiras. Por isso, dominar essa técnica revela-se fundamental para qualquer cientista de dados iniciante.

Obtendo conjunto de dados load_iris

Visualisando os dados

Exportando arvore de decisão treinado para iris_tree.dot

Visualizando a Árvore de Decisão

Como funcionam?

  1. Estrutura: Funcionam como um fluxograma, onde cada ramificação representa uma decisão baseada em regras construídas sobre as variáveis do problema.

  2. Regras (Thresholds): As decisões são baseadas em limiares (thresholds). Exemplo: para uma variável X, a regra pode ser X < 10,69. Se a condição for satisfeita, segue-se um caminho; caso contrário, segue-se o outro.

  3. Treinamento: Durante o treinamento, o algoritmo percorre os dados para determinar a ordem das variáveis e os valores dos limiares que melhor dividem os dados, criando a estrutura da árvore.

Validação do Modelo

  • Método: Após o treinamento (com profundidade máxima definida, por exemplo), o modelo é validado com um conjunto de teste, percorrendo a árvore até chegar a uma predição.

  • Métricas e o parâmetro average: Para avaliar a qualidade em problemas multiclasse, usa-se o parâmetro average no cálculo das métricas (como precisão e recall), com as seguintes opções:

    • Micro: Todas as observações contribuem igualmente para a métrica.

    • Macro: A métrica é a média das métricas de cada classe.

    • Weighted: Dá peso maior para as classes mais frequentes no dataset.

    • Samples: Calcula métricas para cada observação e tira a média (recomendado apenas para tarefas multiclasse).

Deixe um comentário