Encontrando soluções de Machine Leaning mais rapidamente
Aqui listamos bibliotecas Python que vão te ajudar a explorar mais possibilidades de modelos e assim encontrar rapidamente o melhor para o seu problema.
Problemas de Data Science não se resumem a treinar modelos. Mas se você já chegou nessa parte, sabe que existem uma infinidade de modelos para resolver o seu problema.
Mas qual modelo de Machine Learning (ML) é melhor para resolver o seu problema? São tantos modelos… Quando pensamos em problemas supervisionados, temos, por exemplo: modelos lineares; SVM; SGD; Nearest Neighbors; Gaussian; Naive Bayes; Decision Tree, etc… Mas qual será o melhor para os dados que você tem?
Existem diversas bibliotecas que nos ajudam na execução de vários modelos simultaneamente. Algumas fazem chamadas de vários algoritmos sem uma “inteligência” por trás. Outras utilizam técnicas de AutoML para fazer uma decisão mais otimizada. A seguir iremos listar bibliotecas Python que podem te ajudar, e muito, na construção do melhor modelo para o seu problema.
1. Autogluon
O AutoGluon é uma biblioteca de AutoML que te permite encontrar, com um bom desempenho computacional, soluções de ML mais rápidas para seus problemas.
Ele funciona para texto, imagem e dados tabulares.
Também possui ajuste automático de hiperparâmetros, seleção/combinação de modelos, pesquisa de arquitetura e processamento de dados.
Documentação:
https://auto.gluon.ai/stable/index.html
2. Evalml
É uma biblioteca AutoML que cria, otimiza e avalia pipelines de aprendizado de máquina usando funções de objetivo específicas do domínio.
Documentação:
https://evalml.alteryx.com/en/stable/
3. LazyPredict
LazyPredict ajuda a construir muitos modelos básicos sem muito código e ajuda a entender quais modelos funcionam melhor sem qualquer ajuste de parâmetro.
Documentação:
https://lazypredict.readthedocs.io/en/latest/readme.html
4. Mljar
Esta biblioteca constrói um pipeline completo de Machine Learning. Entre suas funcinalidades estão: feature engineering; seleção e tuning de algoritmos; documentação automática; explicabilidade de modelos.
Documentação:
https://mljar.com/
5. Pycaret
Esta biblioteca muito completa, possui desde o pré-processamento dos dados até seu deploy.
Documentação:
https://pycaret.org/
6. Tpot
É uma ferramenta de AutoML que otimiza o pipeline de machine learning usando programação genética.
Documentação:
http://epistasislab.github.io/tpot/
7. Auto-Keras
É uma biblioteca de AutoML construída sobre a estrutura de deep learning Keras para encontrar o melhor modelo para classificação e regressão.
Documentação:
https://autokeras.com/
8. H2O AutoML
É uma biblioteca que inclui treinamento automático de modelo e ajuste de hiperparâmetros de modelos dentro de um limite de tempo especificado.
Documentação:
https://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html
9. MLBox
É uma ferramenta bem completa. Entre as funcionalidades que possui, estão: seleção de features; pré-processamento de dados; otimização automática de hiperparâmetros; seleção de modelos.
Documentação:
https://mlbox.readthedocs.io/en/latest/
10. Ludwig
É uma caixa de ferramentas que permite aos usuários treinar e testar modelos de Deep Learning sem a necessidade de escrever código. Ele é baseado no TensorFlow.
Documentação:
https://github.com/ludwig-ai/ludwig
Qual dessas bibliotecas?
Você deve estar se perguntando, diante desta lista, por qual biblioteca devo começar?
Pela minha experiência, destaco 3 por serem as mais completas, darem resultados bem interessantes e serem simples de usar: TPOT, Pycaret e Mljar.
Conclusão
Essas bibliotecas facilitam muito a vida de um Cientista de Dados; elas simplificam muito o processo e agilizam o treinamento. Mas é bom lembrar que é muito importante entender como os modelos funcionam, os significados dos hiperparâmetros para que você não seja apenas um executor de código que não entende e não sabe explicar o que está acontecendo.
Obs.: Este artigo vai ser atualizado a medida que novas biblitotecas interessantes e eficientes vão sendo descobertas.