Descubra como o MLflow simplifica o gerenciamento de experimentos de machine learning, desde a criação de ambientes virtuais até a visualização de métricas e modelos treinados.
Ambiente virtual para o projeto do MLflow
Para o projeto do MLflow, foi criado um ambiente virtual separado no Python 3.8 chamado ‘MLflow‘. Dentro desse ambiente, foram instaladas as bibliotecas necessárias para o projeto: NumPy, Pandas, próprio MLflow, Yellowbrick, scikit-learn, entre outras.
- O ambiente virtual ‘MLflow’ foi configurado no Python 3.8 para garantir a separação e organização do projeto.
- Foram instaladas as bibliotecas essenciais, como NumPy, Pandas, MLflow, Yellowbrick e scikit-learn, para suportar as funcionalidades do projeto.
Leitura e preparação dos dados
Os dados utilizados são referentes a custos de seguros. As features relevantes para modelagem foram selecionadas: idade, bmi, número de filhos e status de fumante. A variável target é a despesa média do seguro.
- Os dados analisados são relacionados aos custos de seguros, e as características mais relevantes para a modelagem foram identificadas: idade, bmi, número de filhos e status de fumante.
- A variável alvo do modelo é a despesa média do seguro, que será utilizada para prever os custos para os clientes.
Pipeline de pré-processamento de dados
Foi criado um pipeline de pré-processamento para preparar os dados antes de serem consumidos pelos modelos. Esse pipeline faz: Imputação de valores faltantes, Padronização dos valores numéricos, One-hot encoding nas variáveis categóricas e Remoção de uma categoria se a coluna for binária (no caso, o status de fumante só tem duas opções: sim ou não).
- O pipeline de pré-processamento foi desenvolvido para garantir que os dados estejam prontos para serem utilizados pelos modelos de machine learning.
- As etapas do pipeline incluem a imputação de valores faltantes, padronização dos valores numéricos, aplicação de one-hot encoding e remoção de uma categoria em colunas binárias.
Treinamento de modelos com o MLflow
Foram
- Treinamento de vários modelos de machine learning utilizando a plataforma MLflow para gerenciar o ciclo de vida dos modelos.
- A utilização do MLflow permite um controle eficiente do treinamento, experimentação e comparação de modelos, facilitando o processo de desenvolvimento e seleção do melhor modelo.
Algoritmos de Machine Learning Testados
Foram testados 5 algoritmos de machine learning diferentes, utilizando um loop. Os algoritmos testados incluem Regressão Linear Simples, Regressão Linear, Regressão Lasso, Random Forest e Gradient Boosting. Cada modelo passou por treinamento com o pipeline de pré-processamento + modelo, e em seguida, foram obtidas previsões no conjunto de teste.
- A utilização de diferentes algoritmos de machine learning amplia o escopo de possibilidades para análise de dados.
- Os algoritmos testados, como Regressão Linear Simples, Regressão Lasso, Random Forest e Gradient Boosting, são amplamente utilizados em projetos de machine learning devido à sua eficácia em diferentes cenários.
- O treinamento com pipeline de pré-processamento + modelo contribui para a melhoria do desempenho e precisão dos algoritmos testados.
Execução no MLflow
Após o treinamento de cada modelo, é iniciada uma execução no MLflow para salvar as informações do modelo testado. Durante essa execução, são feitos logs das métricas do modelo (r2, RMSE etc.), dos parâmetros do modelo, de figuras com erros de predição e resíduos, e do próprio modelo treinado. Ao final do loop, são registradas 5 execuções no MLflow, uma para cada algoritmo testado.
- A utilização do MLflow permite o registro e monitoramento eficiente dos experimentos de machine learning, facilitando a análise e comparação de diferentes modelos.
- Os logs das métricas do modelo, parâmetros do modelo e figuras com erros de predição e resíduos fornecem uma visão abrangente do desempenho e comportamento de cada algoritmo testado.
- A execução no MLflow proporciona um registro organizado das informações, permitindo uma análise comparativa entre os diferentes algoritmos testados.
Interface Gráfica do MLflow
Ao executar o comando “mlflow ui” no terminal, abre-se uma interface gráfica para visualizar o experimento criado. Nessa interface, é possível visualizar todas as execuções (runs) e filtrar as informações desejadas, como métricas, parâmetros, figuras, entre outros. Além disso, é possível ordenar os modelos pelas métricas, facilitando a comparação e análise dos resultados.
- A interface gráfica do MLflow oferece uma forma intuitiva e visual de acompanhar e analisar os experimentos de machine learning realizados.
- A capacidade de filtrar e ordenar as informações na interface gráfica do MLflow permite uma análise personalizada e detalhada dos resultados obtidos.
- A ordenação dos modelos pelas métricas possibilita identificar rapidamente os modelos com melhor desempenho, facilitando a tomada de decisão na escolha do algoritmo mais adequado para determinada tarefa de machine learning.
MLflow: A Ferramenta Essencial para Gerenciar Experimentos de Machine Learning
MLflow é uma plataforma de código aberto para gerenciamento de ciclo de vida de machine learning, que fornece uma maneira eficaz de acompanhar e comparar experimentos de machine learning. Com ele, é possível salvar modelos, métricas, parâmetros e figuras para cada execução, permitindo uma análise aprofundada do desempenho de diferentes modelos. Além disso, oferece uma interface gráfica intuitiva para visualizar e comparar experimentos, facilitando a identificação dos modelos com melhor resultado.
- MLflow é uma plataforma de código aberto para gerenciamento de ciclo de vida de machine learning
- Permite salvar modelos, métricas, parâmetros e figuras para cada execução
- Oferece uma interface gráfica intuitiva para visualizar e comparar experimentos
Recursos Disponíveis no MLflow
O MLflow oferece diversos recursos para auxiliar no gerenciamento de experimentos de machine learning. Por meio da plataforma, é possível acessar as figuras salvas com erros de predição e resíduos, aprender como carregar o modelo em PySpark ou Pandas para fazer inferências, visualizar a assinatura do modelo, mostrando tipos de dados de entrada e saída, e acompanhar as versões do modelo caso tenha sido rodado mais de uma vez.
- Acesso às figuras salvas com erros de predição e resíduos
- Aprendizado sobre como carregar o modelo em PySpark ou Pandas para fazer inferências
- Visualização da assinatura do modelo, mostrando tipos de dados de entrada e saída
- Acompanhamento das versões do modelo caso tenha sido rodado mais de uma vez
Benefícios do MLflow para Equipes de Ciência de Dados
Além de oferecer uma maneira eficaz de gerenciar experimentos de machine learning, o MLflow facilita a deployagem dos modelos em produção e o monitoramento de suas métricas. Sua capacidade de registrar e comparar modelos com suas respectivas assinaturas torna-o uma ferramenta essencial para equipes de Ciência de Dados que buscam otimizar seus processos e obter insights valiosos a partir de experimentos de machine learning.
- Facilita a deployagem dos modelos em produção
- Permite o monitoramento das métricas dos modelos
- Capacidade de registrar e comparar modelos com suas respectivas assinaturas
Conclusão
O MLflow oferece uma maneira poderosa de gerenciar experimentos de machine learning, facilitando o deploy e o monitoramento de modelos em produção. Essencial para equipes de Ciência de Dados.