2016-08-11 4 views
0

J'utilise pickle pour enregistrer le modèle classifié avec le théorème bayes, j'ai enregistré un fichier avec 2.1 GB après classification avec 5600 enregistrements. mais quand je charge ce fichier cela prend presque 2 minutes mais pour classer du texte cela prend 5,5 minutes. J'utilise le code suivant pour le charger et le classer.Comment réduire le temps de classification des sujets dans le classifieur bayes naïf textblob

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

Première ligne pour le chargement de l'objet pickle et deuxième pour classer le texte, il en résulte quel sujet (Category) il est. J'utilise le code suivant pour enregistrer le modèle.

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

Chaque chose que je me sers de textblob.Environment est Windows, 28 Go de RAM, soit quatre core CPU. Il serait très utile si tout le monde peut résoudre ce problème.

Répondre

0

Puisque textblob est construit au-dessus de NLTK, c'est une implémentation pure de Python qui réduit sa vitesse d'une énorme ampleur. Deuxièmement, puisque votre fichier Pickle est de 2,1 Go, cela le fait se développer beaucoup plus et enregistré directement sur la RAM, ce qui augmente encore le temps.

En outre, puisque vous utilisez Windows, la vitesse Python est relativement plus lente. Si la vitesse est une préoccupation majeure pour vous, alors il serait utile d'utiliser le sélecteur de fonctions et le constructeur vectoriel de textblob/NLTK et utilisez scikit-learn NB Classifier qui a C-Bindings, donc je suppose que ce serait beaucoup plus rapide.