Machine Learning Para Não-Hackers
- #Machine Learning
- #Automação
- #Python
Introdução
Existem inúmeras razões pelas quais considero o AutoGluon uma grande ferramenta (o fato de que era um recurso interno da Amazon e se tornou público é apenas uma delas). Me encanta saber que profissionais de outras áreas podem usar Machine Learning sem entender o que são SOTA, CV, Hold-Out, Ensemble e todos os outros termos chiques do ML, para que possam fazer algo realmente útil. Por isso, lhes apresento uma introdução modesta (quem sabe no futuro possamos lidar com algo mais complexo) desta ferramenta.
Observações: Este tutorial será feito usando o conjunto de dados Califórnia Housing, a linguagem Python e o ambiente será o Google Colab.
Instalação
Com a linha !pip install -qq AutoGluon é possível realizar a instalação do AutoGluon. O ‘-qq’ é para silenciar a saída e consequentemente reduzir a poluição no notebook.
Preparação e Aprendizado
Nesta etapa, dividimos os dados em treino e teste para que possamos avaliar os resultados em dados não vistos. Em seguida, pedimos ao AutoGluon para aprender com os dados.
Após essa etapa, inicia-se um treinamento cuja duração é determinada pela quantidade de dados fornecidos.
Constam informações úteis, como os modelos usados e a quantidade de memória. Também mostra que ele compreendeu corretamente qual problema temos em mãos: um problema de regressão, uma vez que queremos prever o valor médio das casas.
Avaliação
Agora é hora de avaliarmos quão bem foram nossas tarefas. Como temos um problema de regressão, podemos usar métricas como MAE, MSE, RMSE e R² para entender quão bem nosso modelo pode prever esses valores.
Podemos usar a métrica que melhor nos convém. Por exemplo, podemos considerar um R² de 0.85 como a 'precisão' com que um valor foi previsto em relação ao original. Isso nos assegura um valor confiável sobre as previsões.
Debugagem
Também é possível saber quais modelos foram usados, quanto tempo durou o treinamento e qual o escore para eles. Isso possibilita a depuração e a remoção de modelos mais lentos ou ineficientes.
Ao todo, foram usados 11 modelos, sendo o melhor o WeightedEnsemble_L2.
Conclusão
Se já teve que treinar modelos do zero antes, sabe como pode ser trabalhoso ter que aplicar codificação, normalização dos dados, etc. Ferramentas como o AutoGluon facilitam esse processo, especialmente quando se trata de usar modelos avançados e garantir que não haja viés, mesmo sem ter conhecimento dos conceitos de cross-validation, uma vez que o AutoGluon executa isso para você. Em alguns casos, pode ser perfeito, especialmente para pesquisadores que não são da área.
Links:
- Documentação: [AutoGluon](https://auto.gluon.ai/stable/index.html)
- Artigo: [Paper](https://arxiv.org/pdf/2003.06505.pdf)
- Conjunto de dados: [California Housing Prices](https://www.kaggle.com/datasets/camnugent/california-housing-prices)
- Notebook: [Google Colab](https://colab.research.google.com/drive/1H3XLRKNNfuM4J3sJC1N_nyyhhNL337gu?usp=sharing)
ps: Acabei por decidindo apagar o anterior e ajustar uma vez que não estava conseguindo editar.