1
resposta

Dúvida

O arquivo salvo com a biblioteca pickle precisa estar no mesmo diretório para o código que consta nessa atividade funcionar?

1 resposta

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado