es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo guardar y reutilizar un modelo en Python

He creado un modelo y lo he guardado utilizando la biblioteca pickle, pero quiero usarlo nuevamente cambiando los valores de mis variables de entrada y por eso no tengo ninguna salida.

Aquí está el código:

# Guardar el modelo utilizando Pickle
import pandas
from sklearn import model_selection
from sklearn.linear_model import LogisticRegression
import pickle
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
dataframe = pandas.read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
Y = array[:,8]
test_size = 0.33
seed = 7
X_train, X_test, Y_train, Y_test = model_selection.train_test_split(X, Y, test_size=test_size, random_state=seed)
# Ajustar el modelo al conjunto de entrenamiento
modelo = LogisticRegression()
modelo.fit(X_train, Y_train)
# Guardar el modelo en disco
nombre_archivo = 'finalized_model.sav'
pickle.dump(modelo, open(nombre_archivo, 'wb'))

# algún tiempo después...

# Cargar el modelo desde el disco
modelo_cargado = pickle.load(open(nombre_archivo, 'rb'))
resultado = modelo_cargado.score(X_test, Y_test)
print(resultado)

Ahora, solo tengo datos para mi X_test. No tengo ningún punto de datos para mi Y_test. En este caso, ¿cómo puedo usarlo nuevamente y pasar solo X_test para obtener Y?
¡Por favor, ayúdame!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar el modelo cargado para predecir el resultado de nuevos puntos de datos. En tu caso, tienes X_test puntos de datos pero no tienes sus correspondientes valores de Y_test. Puedes pasar los puntos de datos X_test al método predict del modelo cargado para obtener predicciones para estos puntos de datos. El método predict devolverá una matriz de valores de Y predichos para la entrada X_test proporcionada. Aquí está el código:

    # cargar el modelo desde el disco
    loaded_model = pickle.load(open(filename, 'rb'))
    
    # utilizar el modelo cargado para predecir resultados para nuevos puntos de datos
    y_pred = loaded_model.predict(X_test)
    
    # imprimir los valores de Y predichos
    print(y_pred)
    

    Esto imprimirá una matriz de valores de Y predichos para la entrada X_test proporcionada.

Comments are closed.