Blog

Como salvar seu modelo de Machine Learning

Carlos Melo
Escrito por Carlos Melo em 10/01/2020
Como salvar seu modelo de Machine Learning
Junte-se a mais de 9.500 pessoas

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Se você precisa rodar seu Jupyter notebook inteiro a cada vez que precisa fazer uma nova previsão, saiba que tem uma maneira fácil de salvar o seu modelo de machine learning e usá-lo diretamente a partir de um arquivo.

Notebooks são a melhor maneira que eu conheço para estruturar projetos de Data Science. Eles aceitam markdown, html e células de código – permitem documentação, organização e que sejam replicáveis por qualquer pessoa.

Como salvar um modelo de machine learning em python

No entanto, se a cada vez que você precisa usar aquele algoritmo XGBoost treinado você ainda roda todas as células novamente, saiba que existe uma biblioteca chamada pickle capaz de exportar estruturas de dados para um arquivo e importá-las em qualquer outra máquina.

Ganhe tempo e aprenda a usar (em poucas linhas) esse pacote nos seus trabalhos de Data Science.

Salvando modelos de machine learning com Pickle

Na verdade, não são apenas modelos de machine learning que podem ser salvos em um arquivo no seu disco. Qualquer objeto em Python (strings, dicionários, listas, arrays) pode ser facilmente exportado.

Opickle permite a serialização de objetos, ou seja, os transforma em sequências de bytes. Armazenando toda informação necessária, consegue reconstruir objetos aplicando uma lógica interna.

Como salvar um modelo de machine learning usando Python e Pickle

Para salvar um modelo, usa-se o método dump() – basta informar a variável referente ao objeto e o nome do arquivo a ser criado, como no exemplo abaixo.

Pronto. Um arquivo com o nome sale_xgboost.pkl foi criado na mesma pasta onde o código foi executado. Basta salvar ele, jogar para deploy ou usar quando precisar.

Carregando modelos de machine learning com Pickle

O mais comum em machine learning é você treinar e avaliar o modelo até ele estar satisfatório, e jogar para deploy dentro de uma aplicação web, por exemplo. Para isso, precisamos carregar o modelo.

Esse caminho também é muito direto. Usando o método load() você consegue pegar o objeto que foi serializado (transformado em uma sequência de bytes) e convertê-lo novamente para o tipo original

Já que o modelo estava treinado e validado, uma vez carregado ele já esta pronto para ser usado. No caso da célula acima, o modelo de machine learning foi atribuído à variável model.

Para se fazer uma previsão, é só usar o método o model.predict(X_test) (por exemplo) como você faria normalmente.

Além dos modelos de machine learning

Como eu te disse, você consegue salvar qualquer objeto do seu código Python, e não apenas modelos e algoritmos treinados em projetos de Ciência de Dados.

Às vezes, tem-se apenas o resultado de uma query ou um array do numpy que você deseja salvar para reaproveitar depois (afinal, quando você reiniciar a IDE as variáveis serão eliminadas).

Como salvar um modelo de machine learning usando Python e Pickle.

Para todos esses casos, o pacote pickle vai te ajudar muito. O fato de ele vir junto com o próprio Python já ajuda muito, pois nem se perde tempo instalando componentes a mais

Espero que tenha gostado da dica e que comece a usar essa técnica a partir de agora 🙂

Hey,

o que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Junte-se a mais de 9.500 pessoas

FAQ e Curso
Curso Data Science
Carlos Melo