一个很好的实践,可以保存带有缩放和重用其他信息的ML模型

时间:2018-07-23 18:23:09

标签: python machine-learning keras

我不是一个好的编码员,但是请尝试提高自己的技能,并为结构和实践使用好的方法。

我正在研究使用Keras的ML。我试图找到保存结果的最佳方法。 我有一个模型,x和y sims数据的比例参数,原始特征和Y。 保存所有这些信息数据的最佳实践是什么? 用我的scale paragetter保存我的模型是可能还是一个好主意? 我读了csv并将其转换为pandas DataFrame,最好保存下一次直接使用它或继续阅读csv的DataFrame吗?

非常感谢您的建议,对菜鸟有耐心 PS:对不起,我的英语不好,我也在努力工作

2 个答案:

答案 0 :(得分:0)

据我了解,您正在尝试保存模型以供重新使用。如果我理解正确,这会有所帮助。

from sklearn.externals import joblib

joblib.dump(clf, 'filename.pkl') 

clf = joblib.load('filename.pkl') 

http://scikit-learn.org/stable/modules/model_persistence.html#persistence-example

答案 1 :(得分:0)

您使用的是keras,不仅是sci-kit学习,所以我将建立一个管道并将它们分别保存。

from keras.models import load_model
from sklearn.externals import joblib

pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('estimator', KerasClassifier(build_model))
])

pipeline.fit(X_train, y_train)
# save keras model
pipeline.named_steps['estimator'].model.save('keras_model.h5')

# save pipeline
pipeline.named_steps['estimator'].model = None
joblib.dump(pipeline, 'sklearn_pipeline.pkl')

# deserialize
pipeline = joblib.load('sklearn_pipeline.pkl')

# add keras model
pipeline.named_steps['estimator'].model = load_model('keras_model.h5')