Как мне сохранить и позже загрузить мой классификатор NLTK?

#python #nltk #pickle

#python #nltk #рассольный

Вопрос:

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

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

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

classifier.train(train_set)
  

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

Комментарии:

1. Вы хотите сохранить объект классификатора?

Ответ №1:

Вы можете использовать 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)
  

Ответ №2:

Вы можете использовать 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)
  

Ответ №3:

Сохранить:

 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'
  

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