亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將分類器保存到scikit-learn中的磁盤

將分類器保存到scikit-learn中的磁盤

一只名叫tom的貓 2019-12-07 15:12:13
如何將訓練有素的樸素貝葉斯分類器保存到磁盤并用于預測數據?我有來自scikit-learn網站的以下示例程序:from sklearn import datasetsiris = datasets.load_iris()from sklearn.naive_bayes import GaussianNBgnb = GaussianNB()y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

分類器只是可以像其他任何東西一樣被腌制和傾倒的對象。繼續您的示例:


import cPickle

# save the classifier

with open('my_dumped_classifier.pkl', 'wb') as fid:

    cPickle.dump(gnb, fid)    


# load it again

with open('my_dumped_classifier.pkl', 'rb') as fid:

    gnb_loaded = cPickle.load(fid)


查看完整回答
反對 回復 2019-12-07
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您還可以使用joblib.dump和joblib.load,它們在處理數字數組方面比默認的python pickler效率更高。


Joblib包含在scikit-learn中:


>>> from sklearn.externals import joblib

>>> from sklearn.datasets import load_digits

>>> from sklearn.linear_model import SGDClassifier


>>> digits = load_digits()

>>> clf = SGDClassifier().fit(digits.data, digits.target)

>>> clf.score(digits.data, digits.target)  # evaluate training error

0.9526989426822482


>>> filename = '/tmp/digits_classifier.joblib.pkl'

>>> _ = joblib.dump(clf, filename, compress=9)


>>> clf2 = joblib.load(filename)

>>> clf2

SGDClassifier(alpha=0.0001, class_weight=None, epsilon=0.1, eta0=0.0,

       fit_intercept=True, learning_rate='optimal', loss='hinge', n_iter=5,

       n_jobs=1, penalty='l2', power_t=0.5, rho=0.85, seed=0,

       shuffle=False, verbose=0, warm_start=False)

>>> clf2.score(digits.data, digits.target)

0.9526989426822482


查看完整回答
反對 回復 2019-12-07
  • 3 回答
  • 0 關注
  • 560 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號