Você está na página 1de 38

Estudo e construção de árvores de decisão: aplicação

ao ensino

Paulina da Silva Orlando Suquina

Orientado por
Professor Doutor Stéphane Louis Clain

14 de Junho de 2020

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 1 / 27


Estrutura da Apresentação

1 Introdução
2 Dados e árvores
3 Probabilidade e Teoria da Informação
4 Árvore de decisão
5 Qualidade da Árvore
6 Poda
7 Aplicação
8 Conclusões

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 2 / 27


Introdução

Objetivos:
Fazer um estudo sobre as várias técnicas de construção de árvores de
decisão e a poda(pré-poda)

Desenvolver uma script para construção de árvore de decisão usando


linguagem de programação Python e a biblioteca scikit-learn para
análise dos dados

Aplicação ao estudo de uma base de dados da área do ensino.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 3 / 27


Introdução

Objetivos:
Fazer um estudo sobre as várias técnicas de construção de árvores de
decisão e a poda(pré-poda)

Desenvolver uma script para construção de árvore de decisão usando


linguagem de programação Python e a biblioteca scikit-learn para
análise dos dados

Aplicação ao estudo de uma base de dados da área do ensino.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 3 / 27


Introdução

Objetivos:
Fazer um estudo sobre as várias técnicas de construção de árvores de
decisão e a poda(pré-poda)

Desenvolver uma script para construção de árvore de decisão usando


linguagem de programação Python e a biblioteca scikit-learn para
análise dos dados

Aplicação ao estudo de uma base de dados da área do ensino.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 3 / 27


Introdução

Árvores de decisão?

Extrair informações em grande volume de dados

Campos cientı́ficos, como Machine learning e inteligência artificial

Flexibilidade, Robustez, facilidade de compreensão e velocidade de


processamento.

Dividir para conquistar

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 4 / 27


Introdução

Árvores de decisão?

Extrair informações em grande volume de dados

Campos cientı́ficos, como Machine learning e inteligência artificial

Flexibilidade, Robustez, facilidade de compreensão e velocidade de


processamento.

Dividir para conquistar

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 4 / 27


Introdução

Árvores de decisão?

Extrair informações em grande volume de dados

Campos cientı́ficos, como Machine learning e inteligência artificial

Flexibilidade, Robustez, facilidade de compreensão e velocidade de


processamento.

Dividir para conquistar

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 4 / 27


Introdução

Árvores de decisão?

Extrair informações em grande volume de dados

Campos cientı́ficos, como Machine learning e inteligência artificial

Flexibilidade, Robustez, facilidade de compreensão e velocidade de


processamento.

Dividir para conquistar

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 4 / 27


Dados e árvores

Um conjunto D de dados é caracterizado por:


d(t) = (t, x(t), c(t))
t é o ı́ndice, t = 1, ..., N
x(t) =
(x1 (t), x2 (t), ..., xI (t))onde, x(t)
são os atributos
para cada valor de xi , temos um
conjunto Ai de J valores:
Figura: Atributo-Classe
Ai = ai1 , ai2 , ...aij , ..., aiJ .
Para a classe C , temos um conjunto
de K decisões: C = c1 , ..., ck , ..., cK

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 5 / 27


Dados e árvores

Tabela: Tab.Eventos

No Sexo TrabalhoM TrabalhoP RazãoEsEscola ApoioEF


1 F Em casa Professor Curso Não
2 F Em casa Outro Curso Sim
3 F Em casa Outro Outro Não
4 F Saúde Serviços Casa Sim
5 F Outro Outro Casa Sim
6 M Serviços Outro Reputação Sim
7 M Outro Outro Casa Não
8 F Outro Professor Casa Sim
9 M Serviços Outro Casa Sim
t x1 (t) x2 (t) x3 (t) x4 (t) c(t)

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 6 / 27


Dados e árvores

Partição associada aos atributos

Seja D um conjunto de dados


P uma partição de D
P={D1 , D2 , ..., Dk } tal que:
T
1 D
i Dj = ∅, i 6= j;
SN
i=1 Di = D
2

Exemplo:
A1 = {F , M} a1 = F , a2 = M e P = {D1 , D2 } D1 = {1, 2, 3, 4, 5, 8}
D2 = {6, 7, 9}

Considerando A4 = {Curso, outro, Casa, Reputação}


a1 = Curso, a2 = Casa, a3 = reputação, a4 = Outro. Logo, D11 = {1, 2} ,
D12 = {4, 5, 8}, D13 = {∅}, D14 = {3}

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 7 / 27


Dados e árvores

Partição associada aos atributos

Seja D um conjunto de dados


P uma partição de D
P={D1 , D2 , ..., Dk } tal que:
T
1 D
i Dj = ∅, i 6= j;
SN
i=1 Di = D
2

Exemplo:
A1 = {F , M} a1 = F , a2 = M e P = {D1 , D2 } D1 = {1, 2, 3, 4, 5, 8}
D2 = {6, 7, 9}

Considerando A4 = {Curso, outro, Casa, Reputação}


a1 = Curso, a2 = Casa, a3 = reputação, a4 = Outro. Logo, D11 = {1, 2} ,
D12 = {4, 5, 8}, D13 = {∅}, D14 = {3}

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 7 / 27


Dados e árvores

Figura: árvore

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 8 / 27


Probabilidade e Teoria da Informação

Frequências

Seja D = (w n )n , n = 1,...,N, com w = (x n , y n ),E ⊂ D então:


|E |
P(E ) =
|D|
|E (ck )|
Pk = P(E (ck )) = onde, E (ck ) = {(x n , y n ) ∈ E
S |E |
Como E (ck ) = E e E (ck ) ∩ E (cl ) = ∅, l 6= k ,
Logo:
0 ≤ pk ≤ 1 e K
P
k=1 pk = 1,

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 9 / 27


Probabilidade e Teoria da Informação

Noção de Impureza

Satisfaz as seguintes
Propriedades:
I (E ) = 0 se a pF = 1 e
pM = 0.
I (E ) atingira o seu
máximo quando
1
pF = pM = .
2
Figura: Nı́veis de impureza

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 10 / 27


Probabilidade e Teoria da Informação

Função de impureza

1 A entropia:P
IE (E ) = − K
k=1 (pk log2 pk )
2 Índice de Gini:
IG (E ) = 1 − K 2
P
k=1 pk
3 Misclassification:
IM (E ) = 1 − max(pk , ..., pK ).

Figura: Funções de Impureza

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 11 / 27


Probabilidade e Teoria da Informação

Ganho de informação

G (D) = I (D) − Ifinal (Sexo)


|Femenino| |Masculino|
I (Sexo) = ∗ I (Femenino) + ∗ I (Masculino)
|D| |D|
I (D) = − K
P
k=1 (pk log2 pk )

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 12 / 27


Árvore de decisão

Primeiro Exemplo

Passos para a construção da árvore de decisão:


Calcular o ganho de cada atributo

Escolher o atributo com o melhor ganho

Ramificação do nó em função dos valores do atributo escolhido

Repetir o processo para os atributos restantes, até se atingir o nı́vel


das folhas

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 13 / 27


Árvore de decisão

Primeiro Exemplo

Passos para a construção da árvore de decisão:


Calcular o ganho de cada atributo

Escolher o atributo com o melhor ganho

Ramificação do nó em função dos valores do atributo escolhido

Repetir o processo para os atributos restantes, até se atingir o nı́vel


das folhas

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 13 / 27


Árvore de decisão

Primeiro Exemplo

Passos para a construção da árvore de decisão:


Calcular o ganho de cada atributo

Escolher o atributo com o melhor ganho

Ramificação do nó em função dos valores do atributo escolhido

Repetir o processo para os atributos restantes, até se atingir o nı́vel


das folhas

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 13 / 27


Árvore de decisão

Primeiro Exemplo

Passos para a construção da árvore de decisão:


Calcular o ganho de cada atributo

Escolher o atributo com o melhor ganho

Ramificação do nó em função dos valores do atributo escolhido

Repetir o processo para os atributos restantes, até se atingir o nı́vel


das folhas

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 13 / 27


Árvore de decisão

Figura: Árvore completa

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 14 / 27


Árvore de decisão

Figura: Árvore podada

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 15 / 27


Qualidade da árvore
Matriz de confusão

Figura: Classes Predita e areal

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 16 / 27


Qualidade da árvore

Matriz de confusão

Figura: Esquema de uma MC

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 17 / 27


Qualidade da árvore

Indicadores que quantificam o erro da árvore:


TP + TN
1 Accuracy = . onde, n é o número total de exemplos.
n
TP
2 Precision =
TP + FP
TP
3 Recall =
TP + FN
2 ∗ (Precision ∗ Recall)
4 F 1Score =
Precision + Recall
TN
5 Especificity = .
TN + FP

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 18 / 27


Poda

Razão para se fazer a poda

1 Evitar o Sobre-ajuste(Overfitting )
2 Reduzir o esforço computacional

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 19 / 27


Poda

Critérios de paragem

1 Nı́vel de profundidade máxima


2 O número de casos no nó terminal é menor que o número mı́nimo de
casos para nó Raiz.
3 Se o nó fosse dividido, o número de casos em um ou mais nós filhos
seria menor que o número mı́nimo de casos para nós filhos.
4 Quando a impureza é aproximadamente 0 ou a pureza é
aproximadamente 1.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 20 / 27


Poda

Figura: Parâmetros de poda, quando nos leva ou não a uma poda

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 21 / 27


Poda

Aplicações dos critérios de pré-poda

Árvore de decisão sem poda: dmax = ∞, β = 0, α = 1 e ε = 0.


34
RecallTraining = = 0, 739.
34 + 12
31
EspecificityTraining = = 0.574
31 + 23
7
RecallTest = = 0, 466.
7+8
8
EspecificityTest = = 0.533
8+7

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 22 / 27


Poda

Profundidade máxima

Parametros: dmax = 2, β = 0, α = 1 e ε = 0.
28
RecallTraining = = 0, 622
28 + 17
36
EspecificityTraining = = 0.655.
36 + 19
7
RecallTest = = 0, 466
7+9
8
EspecificityTest = = 0.571.
8+6

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 23 / 27


Aplicação

Análise dos resultados(Parâmetro de profundidade)

Figura: A Figura: B

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 24 / 27


Conclusão

Construção da árvore por intermédio do ganho

A poda da árvore de decisão, com critérios simples

Os resultados não foram muito satisfatórios, na qual recorremos a


duas razões: precisava-se de mais dados e os atributos não
apresentavam uma boa correlação entre os dados.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 25 / 27


Conclusão

Construção da árvore por intermédio do ganho

A poda da árvore de decisão, com critérios simples

Os resultados não foram muito satisfatórios, na qual recorremos a


duas razões: precisava-se de mais dados e os atributos não
apresentavam uma boa correlação entre os dados.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 25 / 27


Conclusão

Construção da árvore por intermédio do ganho

A poda da árvore de decisão, com critérios simples

Os resultados não foram muito satisfatórios, na qual recorremos a


duas razões: precisava-se de mais dados e os atributos não
apresentavam uma boa correlação entre os dados.

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 25 / 27


Agradecimentos

Muito Obrigada

Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 26 / 27


Referências I

J. Ross Quinlan.
Induction of decision trees.
Machine learning, 1(1):81–106, 1986.
Wei-Yin Loh.
Classification and regression trees.
Wiley Interdisciplinary Reviews: Data Mining and Knowledge
Discovery, 1(1):14–23, 2011.
João Gama, André Carlos Ponce de Leon Carvalho, Katti Faceli,
Ana Carolina Lorena, Márcia Oliveira, et al.
Extracção de conhecimento de dados: data mining.
Available in the net, 2015.
Lior Rokach and Oded Z Maimon.
Data mining with decision trees: theory and applications, volume 69.
World scientific, 2008.
Paulina da S. O. Suquina (Uminho) 14 de Junho de 2020 27 / 27

Você também pode gostar