2016-07-30 3 views
2

классификатор обучен предсказать категорию новостей, когда URL подается в него

Как хранить обученный классификатор?

В настоящее время: Для каждого входа, я тренируюсь классификатор, а затем вернуть результат и, следовательно, я потерять обученный классификатор

Ожидаемого: После того, как я тренирую классификатор, я должен быть в состоянии назвать этот классификатор из памяти по мере необходимости

Любого свет на это будет высоко оценен.

PS: любитель в NLP

ответ

1

является that то, что вы хотите?

пример из 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

вы предлагаете я использовать sklearn вместо NLP? – dreamer

+0

попытайтесь разжечь свой объект классификатора 'nip' - скорее всего, это сработает ... – MaxU

0

Вы можете использовать Рассол/cPickle сбросить/загрузить вашу модель.

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 

Для получения дополнительной информации: Pickle/cPickle

Смежные вопросы