2016-08-11 6 views
0

나는 pickle을 사용하여 베이 즈 정리 (bayes theorem)로 분류 모델을 저장하고 있는데, 5600 개의 레코드로 분류 한 후 2.1GB의 파일을 저장했습니다. 하지만 그 파일을로드 할 때 거의 2 분이 걸리지 만 일부 텍스트를 분류하는 데는 5.5 분이 걸립니다. 나는 그것을로드하고 분류하기 위해 다음 코드를 사용하고있다.textblob naive bayes 분류 자의 주제 분류 시간을 줄이는 방법

classifierPickle = pickle.load(open("classifier.pickle", "rb")) 
    classifierPickle.classify("want to go some beatifull work place")) 

피클 개체를로드하기위한 첫 번째 줄과 텍스트를 분류하기위한 두 번째 줄은 어떤 주제 (범주)인지를 나타냅니다. 모델을 저장하려면 다음 코드를 사용하고 있습니다.

file = open('C:/burberry_model/classifier.pickle','wb') 
pickle.dump(object,file,-1) 

textblob.Environment에서 사용하는 모든 것은 Windows, 28GB RAM, 4 코어 CPU입니다. 어느 누구라도이 문제를 해결할 수 있다면 매우 도움이 될 것입니다.

답변

0

textblob은 NLTK 위에 구축되었으므로 속도가 크게 저하되는 순수 Python 구현입니다. 둘째, Pickle 파일이 2.1GB이기 때문에 훨씬 더 확장되어 RAM에 직접 저장되므로 시간이 훨씬 더 걸립니다.

또한 Windows를 사용하기 때문에 Python 속도가 상대적으로 느립니다. 스피드가 주된 관심사라면, textblob/NLTK의 피쳐 셀렉터와 벡터 생성자를 사용하고 C-Bindings가있는 scikit-learn NB Classifier를 사용하면 상당히 빠를 것이라고 생각합니다.