vfg7 / DecisionTrees-RandomForests

Machine Learning: Classificação via árvores de decisão e florestas

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Machine Learning: Classificação via árvores de decisão e florestas

O caso

https://user-images.githubusercontent.com/62081666/131419211-05a5843e-e2fb-4b6a-89b1-9ceb5ed22392.png

Mais uma vez, um problema de classificação usando a clássica base de dados Iris que todos conhecem (disponível em: https://archive.ics.uci.edu/ml/datasets/iris)

Desta vez, a proposta é usar árvores de decisão para classificar o problema e estender o código também a Random Forests

Os desafios do caso:

  • implementação manual do algoritmo para a árvore de decisão, incluindo a geração da árvore. Implemento manualmente justamente para entender melhor a matemática por trás do algoritmo e saber consertá-lo / aperfeiçoá-lo caso precise.
  • Extensão do código para classificação usando Random Forests. Também implementando manualmente.

Documentação

O projeto foi feito em Python, versão 3.7.0

Foram usadas as bibliotecas:

  • math
  • random
  • csv

O projeto foi feito no pycharm, então, clonar este repositório e abri-lo como um novo projeto na referida IDE deve ser o bastante para sua reprodução.

Próximos passos

  • Por mais que esteja comentado, reconheço que o código precisa de uma refatoração, seja para reescrever alguns métodos de forma mais sucinta, seja para ajudar na legibilidade do código.

  • Muitas funções foram implementadas do zero, mas existem bibliotecas que já implementam as soluções aqui geradas. Enquanto considero que há notáveis vantagens em implementar o algoritmo do zero, também reconheço que o uso de bibliotecas e funções pode facilitar bastante a resolução do problema de forma confiável.

About

Machine Learning: Classificação via árvores de decisão e florestas


Languages

Language:Python 99.6%Language:Tcl 0.4%Language:PowerShell 0.0%Language:Batchfile 0.0%