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!
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:
Esto imprimirá una matriz de valores de Y predichos para la entrada X_test proporcionada.