2016-07-30 12 views
2

ist ein Klassifikator die Nachrichten Kategorie, wenn eine URL in die

Wie speichert man einen trainierten Klassifikator?

Derzeit gespeist wird zur Vorhersage trainiert: Für jeden Eingang, trainiere ich den Ausgang den Klassifikator und dann zurück und damit verlieren wir den trainierten Klassifizierer

Erwartet: Sobald ich den Klassifikator trainieren, sollte ich in der Lage sein, diese Klassifizierer aus dem Gedächtnis zu rufen, wenn

benötigt

Jedes Licht auf diese sehr geschätzt werden würde.

PS: Amateur in NLP

Antwort

1

ist that was Sie wollen?

Beispiel von docs:

>>> from sklearn import svm 
>>> from sklearn import datasets 
>>> clf = svm.SVC() 
>>> iris = datasets.load_iris() 
>>> X, y = iris.data, iris.target 
>>> clf.fit(X, y) 
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, 
    decision_function_shape=None, degree=3, gamma='auto', kernel='rbf', 
    max_iter=-1, probability=False, random_state=None, shrinking=True, 
    tol=0.001, verbose=False) 

>>> import pickle 
>>> s = pickle.dumps(clf) # <-- save/dump classifier to disk 
>>> clf2 = pickle.loads(s) # <-- read/load saved classifier from disk to a new variable 
>>> clf2.predict(X[0:1])  # <-- use loaded (from disk) classifier 
array([0]) 
>>> y[0] 
0 
+0

schlagen Sie ich verwenden sklearn statt nlp? – dreamer

+0

versuchen Sie, Ihr 'nip' Klassifikatorobjekt zu picken - wahrscheinlich wird es funktionieren ... – MaxU

0

Sie Pickle/cPickle Ihr Modell Dump/laden können.

import pickle 

#Some COde 
model_path = "classifier.model" 
if not os.path.exists(model_path): 
    #Some Code 
    classifier = # Some Classifer 
    pickle.dump(classifier, open(model_path, "wb")) 
else: 
    classifier = pickle.load(open(model_path, "rb")) 

#Some Code 

Für weitere Informationen: Pickle/cPickle