Você está na página 1de 16

Practical Assignment –

Machine Learning I
Random Forest for unbalanced datasets
Executive Summary
• Goals
 Compreensão do algoritmo Random Forest
 Resolver problemas de classificação binários desbalanceados
 Implementar uma melhoria no Random Forest de forma a optimizar a performance para o
problema acima.

• Outline of the approach


 Primeiro passo foi coletar os datasets desbalanceados
 Tratamento dos dados
 Selecionar métricas adequadas para dados desbalanceados, nomeadamente precision e recall
 Escolha do algoritmo Random Forest – da implementação específica do sklearn
 Implementar uma forma de balancear as classes presentes na amostra do Random Forest
 Implementação implicou a modificação das classes nativas do sklearn. Foi necessário adição de
novas classes.
 Aplicar as duas versões nos mesmos datasets, gerar resultados e fazer a comparação.
Executive Summary
• Outline of the approach:
 Coletar os datasets desbalanceados
 Tratamento dos dados
 Selecionar métricas adequadas para dados desbalanceados, nomeadamente Precision e Recall
 Escolha do algoritmo Random Forest – da implementação específica do sklearn
 Implementar uma forma de balancear as classes presents na amostra do Random Forest
 Modificação das classes nativas do sklearn. Foi necessário adição de novas classes.
 Aplicar as duas versões nos mesmos datasets, gerar resultados e fazer a comparação.
Selected Algorithm: Random Forest

• Algoritmo de aprendizagem computacional supervisionado.


• Amplamente utilizado para tarefas de classificação e regressão.
• Técnica baseada em ensemble(combina várias árvores de decisão para fazer uma
previsão final).
• Conhecido por sua alta precisão e eficiência em conjuntos de dados de grande
escala.
Random Forest: Data Characteristics
• Variáveis ​de entrada: Podem ser contínuas, categóricas ou binárias.
• Variável de saída: É discreta para classficação ou contínua para regressão.
• Dados balanceados: Random Forest funciona melhor com conjuntos de dados
balanceados.
• Dados limpos: É importante que os dados sejam limpos e livres de valores ausentes ou
outliers, caso o contrario poderá prejudicar o desempenho.
• Random Forest é adequada para conjuntos de dados de grande escala, pois pode lidar com
muitas variáveis ​de entrada e exemplos de treinamento.
Proposal
• Motivation
 Muitos problemas do mundo real são desbalanceados e despertam interesse, exemplos:
 Churn
 Deteção/previsão de falhas
 Previsão de fraude
 Previsão de eventos raros (cancelamento de um vôo, cancelamento de jogos), previsão de catástrofes
(terramotos, incêndios, etc).

• Description
 Implementar um uma técnica de amostragem (sampling) em que aumentamos a presença da
classe minoritária através de um parâmetro que controla a relação entre a duas classes
Empirical Study
• Experimental setup
 Datasets and their characteristics
 Datasets rotulados por completo. O rótulo é binário
 Escolhemos no total quatro datasets
 Focusing on the data characteristic of interest
 O ponto de interesse é sobre o desbalanceamento

Nome Linhas Coluna Taxa de desbalanceamento

Bank 45211 17 88%


BayesianNetworkGenerator 1000000 10 70%
Breast Cancer
Churn 190776 20 84%
Houses 20649 9 56%
Empirical Study
• Experimental setup
 Hyperparameters of the algorithm
 O único hiperparâmetro testado foi o sampling_strategy, os outros hiperparâmetros do modelo permaneceram os mesmos em todos os
experimentos.

Nome Sampling_Strateg Nr Árvores Profundidade Máxima Critéri Nr de


y o Amostras
Mínimo
1 None 100 None Gini 2
2 0.8 100 None Gini 2
3 1 100 None Gini 2
Empirical Study
• Experimental setup
 Performance estimation methodology
 Usámos três métricas de estimação de performance – precision, recall e accuracy
 Devido ao facto de os nossos datasets serem desbalanceados a accuracy não foi a nossa prioridade.
 De forma a poder avaliar melhor os resultados foi usado cross-validation com k=5 e a comparação final
foi feita calculando a media entre as cinco rodadas do cross validation.
Dataset Bank:
- Taxa de desbalanceamento: 88%
- Linhas: 45211
- Colunas: 17
Dataset BNG:
- Taxa de desbalanceamento: 70%
- Linhas: 1000000
- Colunas: 10
Dataset Churn:
- Taxa de desbalanceamento: 84%
- Linhas: 190776
- Colunas: 20
Dataset Houses:
- Taxa de Desbalanceamento: 56%
- Linhas: 20649
- Colunas: 9
Discussion

• No geral não houve grande diferenças entre o Random Forest e o Random Forest com
balanceamento.
• A excepção foi no dataset BNG – no qual foi possível comprovar que no caso do
precision sampling_strategy 0.8 é superior ao Random Forest. Também no recall se
notou diferenças sendo que neste caso foi o sampling_strategy 1.2 superior ao Random
Forest.
• Em relação ao recall, estes resultados de certa forma eram expectáveis uma vez que
quanto maior o sampling_strategy, maior a presença da classe maioritária o que por sua
vez leva a um maior recall.
Conclusions and Future Work
• Conclusions
 Foi comprovado que com a nova abordagem obtivemos melhores resultados em alguns datasets. Verificamos isso tanto
em precision, recall.
 Foi comprovado que esta abordagem é eficaz em datasets desbalanceados. Todos os datasets usados são desbalanceados.

• Future Work
 Comparar/usar em conjunto com outros métodos para datasets desbalanceados como por exemplo smote, under
sampling, modelos de machine-learning que implementam class-weight.
 Implementar um class-weight dentro do Random Forest
 Usando os métodos referidos anteriormente testar usando outros datasets
Grupo
Elementos:
- Igor Gabriel Soares Melo
- Nuno Joaquim Borges da Silva
- Rafael Ferreira Rangel Tavares da Silva

Você também pode gostar