2014-04-10 10 views
11

Ho addestrato un RandomForestClassifier da Python Sckit Learn Module con un set di dati molto grande, ma la domanda è come posso salvare questo modello e lasciare che altri lo applichino alla loro fine. Grazie!Come generare RandomForest Classifier da python?

+0

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

risposta

23

Il metodo consigliato è quello di utilizzare joblib, questo risulterà in un file molto più piccolo di un sottaceto:

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

#then your colleagues can load it 

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

Vedere la online docs

4

Hai provato a decapare il RandomForestClassifier utilizzando il modulo Pickle e quindi salvarlo sul disco?

Ecco un esempio in base ai pickle documentazione:

import pickle 

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

Il “altre persone” potrebbe quindi ricaricare l'oggetto in salamoia come segue:

import pickle 

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

joblib è preferito e meno dettagliato (cioè file più piccolo): http://scikit-learn.org/stable/tutorial/basic/tutorial.html#model-persistence – EdChum