Talilo

Árvore de decisões.txt

Jan 2nd, 2023 (edited)
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.84 KB | None | 0 0
  1. Para saber mais: o que é árvore de decisão?
  2. PRÓXIMA ATIVIDADE
  3.  
  4. Imagine que você está se sentindo doente, mas não faz ideia do que poderia ser. Ao buscar ajuda médica, é feita uma série de perguntas (dor de cabeça? febre? tosse?...). Em seguida, é emitido um parecer informando qual a causa dos sintomas. Na situação apresentada, foi seguido o mesmo princípio utilizado em um estimador chamado árvore de decisão.
  5.  
  6. Árvore de decisão é um dos modelos de previsão mais simples, inspirado na forma que os seres humanos tomam decisões e tem uma alta interpretabilidade, ou seja, uma compreensão fácil dos passos que foram realizados para conseguir chegar ao resultado final. Essas árvores podem ser utilizadas tanto para modelos de regressão, que têm intuito de prever valores numéricos, quanto para modelos de classificação, que têm intuito de prever categorias.
  7.  
  8. Ela pode ser representada graficamente, de forma que cada uma das decisões tomadas no processo possam ser visualizadas. Os elementos principais da árvore de decisão são os nós, ramos e folhas.
  9.  
  10. A estrutura da árvore se inicia com um nó inicial, também chamado de raiz. A partir dela, são traçadas ramificações que geram novos nós e o processo se repete para os nós subsequentes até que chegue a uma folha. Essa se trata de um nó especial e tem a informação da resposta, podendo ser uma categoria ou um valor previsto.
  11.  
  12. Cada ramo representa uma tomada de decisão a partir de um valor ou categoria das variáveis explicativas, dividindo o conjunto de dados em nós que apresentam dados com características cada vez mais similares entre si.
  13.  
  14. Para compreender esses conceitos, vamos a um exemplo.
  15.  
  16. alt text: Fluxograma com o título: Orientação sobre o Covid-19. Abaixo do título há uma caixa, de cor cinza claro, contendo o seguinte texto: “Está com sintomas de covid-19? Eles incluem: Febre e arrepios, tosse, falta de ar, fadiga, dor no corpo, dor de cabeça, perda de olfato e paladar, dor de garganta e diarréia”. Duas linhas partem da caixa. A linha da direita está conectada a um círculo com a palavra SIM. Deste círculo parte uma seta para a direita indicando o texto: “1 - FIQUE EM CASA 2- SEPARAR-SE DOS OUTROS”. A linha da esquerda está conectada a um círculo com a palavra NÃO. Deste círculo parte uma seta para baixo indicando a pergunta: “Teve contato com alguém que foi diagnosticado com covid?”. Partindo desta pergunta, existe uma linha à direita e outra à esquerda. A linha à direita está conectada a um círculo com a palavra NÃO. Deste círculo parte uma seta para baixo em direção ao texto: “USE MÁSCARA E LAVE AS MÃOS COM FREQUÊNCIA”. Já a linha à esquerda está conectada a um círculo com a palavra SIM, Deste parte uma seta para baixo do círculo em direção à pergunta: “CONTATO PRÓXIMO?”. Partindo desta pergunta temos uma linha à direita e outra à esquerda. A da direita se conecta a um círculo com a palavra NÃO. Deste círculo parte uma seta para baixo em direção ao texto: “USE MÁSCARA, LAVE SEMPRE AS MÃOS E FIQUE ATENTO AOS SINTOMAS.”. Já a linha à esquerda conecta-se a um círculo com a palavra SIM. Deste círculo parte uma seta para baixo do círculo em direção ao texto: “FIQUE EM DISTANCIAMENTO ATÉ REALIZAR O TESTE”.
  17.  
  18. No exemplo temos uma orientação sobre o covid-19 para que as pessoas sejam direcionadas a ficarem isoladas ou não. A raiz ou nó inicial representa a pergunta se a pessoa está com sintomas de covid 19, como aquelas perguntas realizadas pelo(a) médico(a), já mencionadas. A pergunta é respondida através dos ramos que partem da raiz, separando as pessoas que apresentam das que não apresentam sintomas. O nó referente às pessoas que têm sintomas se trata de um nó folha, com a decisão final de isolamento social. O nó referente às pessoas que não têm sintomas trata de um nó interno, que passa por um novo questionamento, criando assim novos ramos e nós. O processo se repete até que se chegue em decisões finais.
  19.  
  20. Portanto, o esquema se trata de uma árvore de decisão, no qual é possível detectar todas as escolhas que foram feitas para se chegar às conclusões finais. O algoritmo de computador seguirá esses mesmos princípios, tomando as decisões com base nas variáveis explicativas.
  21.  
  22. ------------------------
  23. Para saber mais: o que são hiperparâmetros?
  24. PRÓXIMA ATIVIDADE
  25.  
  26. Cada um dos modelos de machine learning possui um comportamento distinto para prever os resultados utilizando métodos matemáticos e computacionais. O comportamento de um modelo dependerá de constantes, parâmetros ou características para que a fórmula matemática ou o procedimento computacional se comporte de uma maneira diferente.
  27.  
  28. Esses argumentos que controlam o comportamento de um modelo de machine learning são chamados de hiperparâmetros. Ao alterar o valor desses parâmetros, alteramos também o desempenho do modelo, uma vez que, para cada conjunto de dados diferentes, é necessário um ajuste diferente dos hiperparâmetros para um modelo ser melhor adaptado a esse conjunto.
  29.  
  30. A árvore de decisão, por exemplo, possui uma característica chamada profundidade que diz respeito ao comprimento do caminho mais longo da raiz até uma folha da árvore. Uma profundidade muito grande permite que o modelo se ajuste melhor aos dados e classifique os registros de uma forma mais precisa. Por outro lado, uma profundidade muito pequena pode fazer com que não exista muitas ramificações e os dados não sejam classificados de forma correta, pois o modelo não conseguiu “decidir” sobre como classificar os dados apresentados, por exemplo.
  31.  
  32. Desse modo, deve haver um equilíbrio no valor da profundidade, uma vez que se o modelo se ajustar perfeitamente aos dados de treinamento, não será capaz de generalizar para um conjunto de dados nunca visto, ocorrendo o que chamamos de overfitting (sobreajuste).
  33.  
  34. O modelo de árvore de decisão utilizada para classificação, que está disponível na biblioteca scikit-learn, possui o parâmetro que controla a característica mencionada anteriormente chamado de max_depth, que é o hiperparâmetro que controla a profundidade da árvore. Através da documentação do DecisionTreeClassifier, podemos verificar, dentro dos argumentos da função, os hiperparâmetros desse modelo:
  35.  
  36. class sklearn.tree.DecisionTreeClassifier(*, criterion='gini', splitter='best', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, class_weight=None, ccp_alpha=0.0)
  37.  
  38. COPIAR CÓDIGO
  39.  
  40. Outro hiperparâmetro que pode ser controlado na árvore de decisão é o min_samples_leaf, que está relacionado à quantidade mínima de amostras dos dados de treinamento para cada folha. Isso significa que, se há um nó na árvore com a quantidade de registros definida em min_samples_leaf, esse nó não pode ser dividido em outros nós.
  41.  
  42. Ao utilizar um modelo sem definir um valor para os hiperparâmetros, os valores padrões serão utilizados. Em grande parte das vezes, não são as melhores opções para os dados que estão sendo usadas.
  43.  
  44. --------------------
  45.  
  46. Faça como eu fiz: explorando um modelo manualmente
  47. PRÓXIMA ATIVIDADE
  48.  
  49. Chegou a hora de colocarmos a mão na massa. Você vai fazer parte da equipe de cientistas de dados que vai construir um modelo de classificação de pacientes que terão ou não DAC (Doença Arterial Coronariana) na próxima década. Para isso, treine algumas variações de modelo e compare os resultados para encontrar o melhor.
  50.  
  51. Para isso, podemos usar algumas estratégias:
  52.  
  53. Mudar de algoritmo;
  54. Selecionar features;
  55. Otimizar hiperparâmetros.
  56. VER OPINIÃO DO INSTRUTOR
  57. Opinião do instrutor
  58.  
  59. Mudar de algoritmo
  60.  
  61. Para conhecer outros algoritmos de classificação, podemos recorrer a documentação. Nela vamos encontrar uma lista de algoritmos que resolvem esse tipo de problema.
  62.  
  63. Os modelos mais conhecidos são:
  64.  
  65. Logistic regression;
  66. SVC;
  67. Decision Trees.
  68. Seleção de features
  69.  
  70. Para a seleção de features existem soluções automáticas no próprio sklearn (feature_selection). No entanto, você pode seguir nossa estratégia da aula e eliminar as features com menos importância de acordo com o modelo de árvore.
  71.  
  72. Otimização de hiperparâmetros
  73.  
  74. Para conhecer os hiperparâmetros e seus valores padrões, podemos acessar a documentação DecisionTreeClassifier, testar diferentes valores e ver o impacto que isso terá no modelo, se será positivo ou negativo. Podemos explorar de outras maneiras a melhor combinação de hiperparâmetros, como é sugerido neste artigo do skelarn no qual é descrito como utilizar técnicas como Grid Search (busca em grade) e Randomized Search (busca aleatória).
  75.  
  76. Site-> scikit-learn.org/stable/modules/grid_search.html
  77. Site -> medium.com/brdata/correlação-direto-ao-ponto-9ec1d48735fb
  78.  
Add Comment
Please, Sign In to add comment