O arquivo salvo com a biblioteca pickle precisa estar no mesmo diretório para o código que consta nessa atividade funcionar?
O arquivo salvo com a biblioteca pickle precisa estar no mesmo diretório para o código que consta nessa atividade funcionar?
Boa noite, Estudante! Tudo bem com você?
Se você estiver usando apenas o nome do arquivo, como no exemplo 'modelo_regressao_linear.pkl'
, o arquivo precisa estar no mesmo diretório onde o script está sendo executado.
Se o arquivo estiver em um diretório diferente, você precisará especificar o caminho completo ou relativo para o arquivo. Por exemplo, se o arquivo estiver em uma pasta chamada modelos
, você pode usar 'modelos/modelo_regressao_linear.pkl'
para abrir o arquivo.
Deixo abaixo um código completo que gera um conjunto de dados aleatórios X e y para simular uma relação linear, onde y depende de X. Após o treinamento, o modelo é salvo em um arquivo utilizando a biblioteca pickle. Depois, o modelo é carregado de volta do arquivo com pickle, e, por fim, é usado para fazer previsões em novos dados fornecidos.
import pickle
import statsmodels.api as sm
import numpy as np
import pandas as pd
np.random.seed(0)
X = np.random.rand(100, 1)
y = 3 * X.squeeze() + 2 + np.random.randn(100) * 0.5
X = sm.add_constant(X)
modelo = sm.OLS(y, X).fit()
# Nome do arquivo onde o modelo será salvo
nome_arquivo = 'modelo_regressao_linear.pkl'
# Salvar o modelo em um arquivo usando pickle
with open(nome_arquivo, 'wb') as arquivo:
pickle.dump(modelo, arquivo)
print("Modelo salvo com sucesso!")
# Carregar o modelo de volta do arquivo
with open(nome_arquivo, 'rb') as arquivo:
modelo_carregado = pickle.load(arquivo)
print("Modelo carregado com sucesso!")
novos_dados = sm.add_constant(np.array([[0.5], [1.5], [2.5]]))
previsoes = modelo_carregado.predict(novos_dados)
print("Previsões para novos dados:", previsoes)
Vale ressaltar que um arquivo pickle é útil para armazenar objetos de maneira serializada, permitindo que sejam recuperados posteriormente sem precisar reconstruí-los do zero. No contexto de modelos de machine learning, isso significa que podemos salvar um modelo treinado e suas configurações em um arquivo, o que facilita sua reutilização futura. Assim, ao invés de treinar novamente o modelo sempre que precisarmos usá-lo, basta carregá-lo diretamente do arquivo pickle e aplicar às novas previsões ou análises.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!