StatQuest está crescendo pra cima
StatQuest está crescendo pra baixo
StatQuest está crescendo.
Olá! Eu sou o Josh Starmer. Bem vindos ao StatQuest
Hoje, falaremos sobre árvores de decisão
Aqui está uma árvore de decisão simples
Se uma pessoa ama as músicas tema do StatQuest
Então, essa pessoa é incrível
e se uma pessoa não ama as músicas tema do StatQuest
Então essa pessoa é um pouco menos que incrível
Em geral, uma árvore de decisão faz uma pergunta
e, então, classifica a pessoa baseado na resposta
Não é nada demais!
Esta árvore de decisão é baseada numa pergunta de sim ou não
Mas é tão fácil quanto construir uma árvore a partir de dados numéricos
Se uma pessoa tem um batimento cardíaco muito alto
Então, é melhor essa pessoa consultar um médico
e, se uma pessoa não tem um batimento cardíaco super alto
então, essa pessoa está bem.
Aqui está mais uma árvore de decisão simples
Esta árvore de decisão é baseada em dados de classificação
onde 1 é super faminto e 2 é moderadamente faminto
Se uma pessoa está super faminta, ela precisa comer
e se uma pessoa está moderadamente faminta
ela só precisa de um lanchinho.
e se ela não estiver com nenhuma fome
então, não precisa comer
Nota: a classificação pode ser em categorias
ou numérica
Nesse caso, estamos usando o peso dos ratos
para predizer o tamanho dos ratos
Aqui está uma árvore de decisão mais complicada
Ela combina dados numéricos
com dados sim ou não
Note que o corte para batimento cardíaco não é sempre o mesmo
Nesse caso, é de 100 bpm no lado esquerdo
e 120 bmp no lado direito
e a ordem das perguntas no lado esquerdo
primeiro sobre batimento cardíaco e depois sobre comer donuts
não precisa ser a mesma no lado direito
No lado direito, a pergunta sobre donuts aparece primeiro
Finalmente, a classificação final pode ser repetida
Em geral, árvores de decisão são bem intuitivas para se trabalhar
Você começa no topo
e vai descendo
descendo
Até chegar num ponto em que não consegue mais ir em frente
e é assim que você classifica uma amostra.
Oh, não! Alerta de jargão!!
O topo da árvore é chamado de "nodo raiz"
ou apenas: "a raiz"
estes são chamados de nodos internos
ou apenas: "nodos"
Nodos internos possuem setas apontando na sua direção
e para setas apontando para fora
Finalmente, esses são chamados de "nodos folha"
ou apenas "folhas"
Nodos folha possuem setas apontando na sua direção
mas não existem setas apontando para fora deles
Agora, estamos prontos para falar sobre como partir de uma tabela de dados
para uma chegar em uma árvore de decisão
Nesse exemplo
nós queremos criar uma árvore que usa "dor no peito"
"boa circulação sanguínea"
e "artérias bloqueadas" para predizer
Se um paciente tem ou não uma doença cardíaca.
A primeira coisa que queremos saber
é se "dor no peito", "boa circulação sanguínea"
ou "artérias bloqueadas" deveria estar no topo da nossa árvore
Começaremos olhando o quão bem "dor no peito" somente
prevê doença cardíaca.
Aqui está uma arvorezinha
que só considera "dor no peito"
O primeiro paciente não tem dor no peito
e não tem doença cardíaca.
e armazenamos essa informação aqui
O segundo paciente tem dor no peito
e doença cardíaca
e armazenamos essa informação aqui
O terceiro paciente tem dor no peito
mas não tem doença cardíaca
O quarto paciente tem dor no peito e doença cardíaca
No final, nos olhamos a "dor no peito" e "doença cardíaca"
de todos os 303 pacientes desse estudo
Agora faremos exatamente a mesma coisa
para "boa circulação sanguínea"
Finalmente, olharemos como "artérias bloqueadas"
separa os pacientes com e sem doença cardíaca
Já que não sabemos
 se esse paciente tem artérias bloqueadas ou não
Vamos pulá-lo.
No entanto
existem alternativas que discutirei num vídeo futuro
Lembre-se:
o objetivo é decidir se "dor no peito"
"boa circulação sanguínea"
ou "artérias bloqueadas" deveria ser a primeira coisa na nossa árvore de decisão
também chamada de "nodo raiz"
Então, nós olhamos o quão bem "dor no peito" separa pacientes com e sem doença cardíaca
Foi bom, mas não foi perfeito.
A maioria dos pacientes com doença cardíaca 
acabou nesse nodo folha
e a maioria dos pacientes sem doença cardíaca 
acabou nesse nodo folha.
Então, nós olhamos o quão bem "boa circulação sanguínea" 
separa pacientes com e sem doença cardíaca.
Também não foi perfeito.
Finalmente
verificamos o quão bem "artérias bloqueadas" 
separa pacientes com e sem doença cardíaca.
Nota:
O número total de pacientes com doença cardíaca
é diferente para "dor no peito"
"boa circulação sanguínea" e "artérias bloqueadas"
porque alguns pacientes tem a medida para "dor no peito"
mas não para "artérias bloqueadas", etc.
Oh, não! É mais um daqueles sinistros alertas de jargão!!
Porque nenhum dos nodos raiz é 100%
"sim, é doença cardíaca" ou 100% "não é doença cardíaca"
eles são todos considerados impuros.
Para determinar qual separação é a melhor
precisamos de uma forma para medir e comprar impureza
Existem vários jeitos de medir impureza
mas vou me concentrar em um bem popular chamado Gini.
Para ser honesto
não sei por que ele é chamado de "Gini"
procurei na internet e não consegui encontrar nada
Contudo, se você souber
Por favor, coloque nos comentários abaixo.
Eu adoraria saber.
De qualquer forma
A boa notícia é que calcular a impureza de Gini é fácil!
Vamos começar calculando a impureza de Gini para "dor no peito"
Pra essa folha, a impureza de Gini é igual
1 menos a probabilidade de "sim" ao quadrado
menos a probabilidade de "não" ao quadrado.
Agora, vamos acrescentar os números
A probabilidade do "sim" é igual a 105
dividido pelo total de pessoas nesse nodo folha
e a probabilidade de "não" é igual a 39
dividido pelo total de pessoas nesse nodo folha
Depois de fazermos as contas
obtemos 0,395
Ou seja
A impureza de Gini para o nodo folha da esquerda
é igual a 0,395
Agora, vamos calcular a impureza de Gini para este nodo folha
o da direita
Assim como antes
é igual a 1 menos a probabilidade de "sim" ao quadrado
menos a probabilidade de "não" ao quadrado.
A probabilidade do "sim" é  34
dividido pelo total de pessoas nesse nodo folha
e a probabilidade de "não" é igual a 125
dividido pelo total de pessoas nesse nodo.
e, se fizermos as contas
obteremos 0.336
Agora que medimos a impureza de Gini
para ambos nodos folha
podemos calcular a impureza de Gini total
ao usar "dor no peito" para separar pacientes
com e sem doença cardíaca.
Porque esse nodo folha representa 144 pacientes
e esse nodo folha representa 159 pacientes
os nodos folha não representam o mesmo número de pacientes
Assim, a impureza de Gini total
no uso de "dor no peito" para separar pacientes com
e sem doença cardíaca
é a média ponderada das impurezas dos nodos folha.
Então, para calcular a média ponderada
pegamos o total de pessoas no nodo folha da esquerda
e dividimos pelo total de pessoas em ambos nodos folha
depois multiplicamos essa fração
pela impureza de Gini do nodo folha da esquerda.
Depois, pegamos o total de pessoas no nodo folha da direita
divido pelo total de pessoas em ambos nodos folha
e depois multiplicamos essa fração
pela impureza de Gini do nodo folha da direita.
Depois de fazer as contas, obtemos 0,364
Assim, a impureza de Gini total para "dor no peito" é igual a 0,364
E, já que eu sou um cara legal
vou cortar o papo
e contar que a impureza de Gini para "boa circulação sanguínea"
é igual a 0,360
e a impureza de Gini para "artérias bloqueadas"
é igual a 0,381
"boa circulação sanguínea" tem a menor impureza
ela é a melhor para separar pacientes com e sem doenças cardíacas
Então, a usaremos na raiz da árvore
Nota:
quando dividimos todos os pacientes usando "boa circulação sanguínea"
ainda estamos com nodos folhas "impuros"
Ou seja, cada folha contém uma mistura de pacientes com e sem doença cardíaca.
Isso significa que os 164 pacientes com e sem doença cardíaca
que vieram pra esse nodo folha
agora estão nesse nodo da árvore
e os 133 pacientes com e sem doença cardíaca
que vieram pra esse nodo folha
agora estão nesse nodo da árvore.
Agora, precisamos descobrir quão bem "dor no peito" e "artérias bloqueadas"
separam esses 164 pacientes
37 com doença cardíaca e 127 sem doença cardíaca.
Assim como fizemos antes
nós separamos esses pacientes baseado em "dor no peito"
e depois calculamos o valor da impureza de Gini.
Nesse caso, é 0,3
e, então, fazemos exatamente a mesma coisa para "artérias bloqueadas"
já que "artérias bloqueadas" tem a menor impureza de Gini
nós a usaremos nesse nodo para separar os pacientes.
Aqui está a árvore que construímos até agora. 
Nós começamos pelo topo, separando os pacientes com boa circulação
Depois usamos "artérias bloqueadas" para separar pacientes 
no lado esquerdo da árvore.
Tudo que nos sobrou foi "dor no peito"
Então, primeiro vamos ver quão bem ela separa esses 49 pacientes
24 com doença cardíaca e 25 sem doença cardíaca.
Legal! "dor no peito" faz um bom trabalho separando os pacientes.
Então, esses são os nodos folha nesse galho da árvore.
Agora, vamos ver o que acontece quando usamos "dor no peito"
para dividir esses 115 pacientes
13 com doença cardíaca e 102 sem.
Nota: a grande maioria dos pacientes nesse nodo
89%, não tem doenca cardíaca.
Aqui está como "dor no peito" separa esses pacientes.
Essas duas novas folhas separam os pacientes melhor do que antes?
Bem, vamos calcular a impureza de Gini pra ver
Nesse caso, é 0,29
A impureza de Gini para esse nodo
antes de usar "dor no peito" para separar os pacientes é
0,2
a impureza é menor se não separarmos pacientes usando "dor no peito"
Então, vamos torná-lo um nodo folha.
Ok, nesse ponto resolvemos todo o lado esquerdo da árvore.
Agora, precisamos resolver o lado direito da árvore.
A boa notícia é que seguimos exatamente os mesmos passos
 que seguimos no lado esquerdo
Primeiro, calculamos todos os valores de impureza de Gini
Segundo, se o próprio nodo tiver o menor valor
então, não adianta continuar separando os pacientes
e ele se torna um nodo folha
Terceiro, se a separação dos dados resulta em uma melhora
então, escolha a separação com o menor valor de impureza
Ueba! Fizemos uma árvore de decisão!
Até agora, vimos como construir uma árvore
com perguntas "sim ou não" em cada etapa.
mas e se tivéssemos dados numéricos como o peso do paciente?
Imagine se esse fosse o nosso dado.
Como determinamos
qual é o melhor peso para dividirmos os pacientes?
Passo 1
Ordene os pacientes por peso: do menor pro maior.
Passo 2
Calcule o peso médio para todos os pacientes adjacentes
Passo 3
Calcule o valor de impureza para cada peso médio
Por exemplo
podemos calcular o valor de impureza
para pesos abaixo de 167,5
No final, obtivemos 0,3 
como o valor de impureza para esse peso
E, então, calculamos os valores de impureza 
para os outros pesos também
A menor impureza ocorre quando separamos os pesos
por 205.
Então, esse é o corte no valor de impureza
que usaremos quando compararmos o peso
com "dor no peito" ou "artérias bloqueadas".
Agora vimos como construir uma árvore com
perguntas "sim ou não" em cada passo
e dados numéricos, como peso do paciente.
Agora, vamos falar sobre dados de classificação
como "classifique minhas piadas numa escala de 1 a 4"
e dados de múltipla escolha
como "qual cor você prefere? vermelho, azul ou verde?"
Dados classificatórios são parecidos com dados numéricos
exceto que agora, calculamos valores de impureza 
para todas as possíveis classificações.
Então, se as pessoas pudessem classificar minhas piadas de 1 a 4
Sendo 4 a mais engraçada
Poderíamos calcular os seguintes valores de impureza:
piadas nota 1 ou menos
piadas nota 2 ou menos
e piadas nota 3 ou menos.
Nota: não precisamos calcular 
o valor de impureza pra piadas nota 4 ou menos
porque isso incluiria todas as piadas
Quando existem múltiplas escolhas
como "as cores podem ser azul, verde ou vermelho"
você calcula o valor de impureza para cada uma
assim como para cada combinação.
Para esse exemplo, com três cores
(azul, verde e vermelho)
obtemos as seguintes opções
Cor escolhida azul
Cor escolhida verde
Cor escolhida vermelha
Cor escolhida azul ou verde
Cor escolhida azul ou vermelho
e, finalmente, cor escolhida verde ou vermelho
Nota: não precisamos calcular o valor de impureza
para a escolha da cor azul, verde ou vermelha
já que isso inclui todas as escolhas.
Bam! Agora sabemos como fazer e usar Árvores de Decisão
Acompanhe o canal para aprender sobre Random Forests
É aí que a diversão realmente começa!
Horay! Chegamos ao final de mais uma StatQuest.
Se você gostou dessa StatQuest e quer ver mais, por favor subescreva-se
e se tiver sugestões para StatQuests futuras, coloque nos comentários abaixo.
Até a próxima vez!
