python机器学习模型持久化

模型持久化

python模型持久化主要有两种方法:pickle和joblib。

  1. pickle 模块及其同类模块 cPickle 向 Python 提供了 pickle 支持。后者是用 C 编码的,它具有更好的性能,对于大多数应用程序,推荐使用该模块,可以保存到内存。

  2. joblib是scikit-learn的外带库,对于大数据而言,joblib比pickle更加高效,但是joblib只能将对象存储在磁盘文件中,不能保存为字符串。

    这里主要对joblib进行模型持久化进行代码介绍,主要包括模型的保存和模型的加载调用。

    1
    2
    3
    4
    5
    6
    7
    8
    from sklearn.externals import joblib
    from sklearn.ensemble import RandomForestClassifier
    # 模型保存。
    clf=RandomForestClassifier()
    joblib.dump(clf, "train_model.m")
    # 模型加载调用
    clf = joblib.load("train_model.m")
    clf.predit(test_X)