Как сохранить, а затем загрузить свой классификатор NLTK? - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь выполнить анализ настроений в обзорах фильмов.

Следующий код находится внутри функции:

classifier = nltk.classify.SklearnClassifier(LinearSVC())

classifier.train(train_set)

Как сохранить и загрузить его, когда я буду использовать его позже?И где я должен поместить функции pickle в мой код?Спасибо за ваше время!

Ответы [ 3 ]

0 голосов
/ 28 марта 2019

Вы можете использовать pickle.

Для записи:

import pickle as pkl
clf = nltk.classify.SklearnClassifier(LinearSVC())
clf.train(X_train,y_train)
with open('clf.pkl','wb') as myfile:
    pkl.dump(clf,myfile)

Для чтения:

import pickle as pkl
with open('clf.pkl','wb') as myfile:
    clf = pkl.load(myfile)
0 голосов
/ 28 марта 2019

Сохранить:

def save(name,data,type='.dat'):
    name+=type
    pickle.dump(data,open(name,'wb'))#will create file if doesn't exist,will update file if there is such file

Загрузка:

def load(name):
    return pickle.load(open(name,'rb'))#will raise error if no such file exists

Пример:

save('myFile','foo')
print(load('myfile.dat'))#remember .dat !
#will prints 'foo'

Сначала необходимо импортировать маринад, а затем сохранить все, что угодно

0 голосов
/ 28 марта 2019

Вы можете использовать pickle при сохранении и чтении документов после запуска nltk.Сначала необходимо импортировать модуль.

import pickle

classifier = nltk.classify.SklearnClassifier(LinearSVC())
classifier = classifier.train(train_set)

Для сохранения:

with open("filename", "wb") as infile:
    pickle.dump(classifier, infile)

Для чтения:

with open("filename","rb") as outfile:
    docs = pickle.load(outfile)
...