2014-04-10 82 views
11

我已經從Python Sckit Learn Module培訓了一個RandomForestClassifier與非常大的數據集,但問題是如何可能保存此模型,並讓其他人將它應用到他們的最終。 謝謝!如何從python輸出RandomForest分類器?

+0

請參閱http://scikit-learn.org/stable/tutorial/basic/tutorial.html#model-persistence – EdChum

回答

23

推薦的方法是使用joblib,這將導致比醃菜小得多的文件:

from sklearn.externals import joblib 
joblib.dump(clf, 'filename.pkl') 

#then your colleagues can load it 

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

請參閱online docs

4

您是否嘗試過使用Pickle模塊酸洗RandomForestClassifier,然後將其保存到磁盤?

這裏的基礎上,pickle文檔的例子:

import pickle 

classifier = RandomForestClassifier(etc) 
output = open('classifier.pkl', 'wb') 
pickle.dump(classifier, output) 
output.close() 

的「其他人」可以重新裝入醃對象,如下所示:

import pickle 

f = open('classifier.pkl', 'rb') 
classifier = pickle.load(f) 
f.close() 
+1

joblib是首選且不太冗長(即,較小的文件):http://scikit-learn.org/stable/tutorial/basic/tutorial.html#model-persistence – EdChum