Aprendizado de Árvore de Classificação

Aprendizado de máquina com modelos baseados em árvores em Python

Elie Kawerk

Data Scientist

Blocos de construção de uma árvore de decisão

  • Árvore de decisão: estrutura de dados com hierarquia de nós.

  • : pergunta ou previsão.

Aprendizado de máquina com modelos baseados em árvores em Python

Blocos de construção de uma árvore de decisão

Três tipos de nós:

  • Raiz: sem nó pai, pergunta que gera dois nós filhos.

  • Nó interno: um nó pai, pergunta que gera dois nós filhos.

  • Folha: um nó pai, sem filhos --> previsão.

Aprendizado de máquina com modelos baseados em árvores em Python

Previsão

Árvore de decisão rotulada

Aprendizado de máquina com modelos baseados em árvores em Python

Ganho de Informação (IG)

Diagrama de IG

Aprendizado de máquina com modelos baseados em árvores em Python

Ganho de Informação (IG)

Fórmula de IG

Critérios para medir a impureza de um nó $I (node)$:

  • índice de Gini,
  • entropia. ...
Aprendizado de máquina com modelos baseados em árvores em Python

Aprendizado de Árvore de Classificação

  • Nós são crescidos recursivamente.

  • Em cada nó, divide os dados com base em:

    • atributo $f$ e ponto de corte $sp$ que maximizam $IG(\text{node})$.
  • Se $IG (\text{node})$ = 0, declara o nó como folha.

    ...

Aprendizado de máquina com modelos baseados em árvores em Python
# Import DecisionTreeClassifier
from sklearn.tree import DecisionTreeClassifier
# Import train_test_split
from sklearn.model_selection import train_test_split
# Import accuracy_score
from sklearn.metrics import accuracy_score
# Split dataset into 80% train, 20% test
X_train, X_test, y_train, y_test= train_test_split(X, y, 
                                                   test_size=0.2, 
                                                   stratify=y,
                                                   random_state=1)
# Instantiate dt, set 'criterion' to 'gini'
dt = DecisionTreeClassifier(criterion='gini', random_state=1)
Aprendizado de máquina com modelos baseados em árvores em Python

Critério de Informação no scikit-learn

# Fit dt to the training set
dt.fit(X_train,y_train)

# Predict test-set labels
y_pred= dt.predict(X_test)

# Evaluate test-set accuracy
accuracy_score(y_test, y_pred)
0.92105263157894735
Aprendizado de máquina com modelos baseados em árvores em Python

Vamos praticar!

Aprendizado de máquina com modelos baseados em árvores em Python

Preparing Video For Download...