Solución:
Incluso mejor que pickle
(que crea archivos mucho más grandes que este método), puede usar sklearn
herramienta incorporada:
from sklearn.externals import joblib
scaler_filename = "scaler.save"
joblib.dump(scaler, scaler_filename)
# And now to load...
scaler = joblib.load(scaler_filename)
Nota: sklearn.externals.joblib
es obsoleto. Instale y use el puro joblib
en lugar de
Así que en realidad no soy un experto en esto, pero a partir de un poco de investigación y algunos enlaces útiles, creo pickle
y sklearn.externals.joblib
van a ser tus amigos aquí.
El paquete pickle
le permite guardar modelos o “volcar” modelos en un archivo.
Creo que este enlace también es útil. Habla de crear un modelo de persistencia. Algo que querrás probar es:
# could use: import pickle... however let's do something else
from sklearn.externals import joblib
# this is more efficient than pickle for things like large numpy arrays
# ... which sklearn models often have.
# then just 'dump' your file
joblib.dump(clf, 'my_dope_model.pkl')
Aquí es donde puede obtener más información sobre los aspectos externos de sklearn.
Avísame si eso no ayuda o si no entiendo algo sobre tu modelo.
Nota: sklearn.externals.joblib
es obsoleto. Instale y use el puro joblib
en lugar de
Solo una nota que sklearn.externals.joblib
ha sido desaprobado y reemplazado por el antiguo joblib
, que se puede instalar con pip install joblib
:
import joblib
joblib.dump(my_scaler, 'scaler.gz')
my_scaler = joblib.load('scaler.gz')
Tenga en cuenta que las extensiones de archivo pueden ser cualquier cosa, pero si es una de ['.z', '.gz', '.bz2', '.xz', '.lzma']
entonces se utilizará el protocolo de compresión correspondiente. Documentos para joblib.dump()
y joblib.load()
métodos.