我一直在Python中使用maxent分類器及其失敗,我不明白爲什麼。Python Maxent分類器
我正在使用電影評論語料庫。 (總小白)
import nltk.classify.util
from nltk.classify import MaxentClassifier
from nltk.corpus import movie_reviews
def word_feats(words):
return dict([(word, True) for word in words])
negids = movie_reviews.fileids('neg')
posids = movie_reviews.fileids('pos')
negfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'neg') for f in negids]
posfeats = [(word_feats(movie_reviews.words(fileids=[f])), 'pos') for f in posids]
negcutoff = len(negfeats)*3/4
poscutoff = len(posfeats)*3/4
trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff]
classifier = MaxentClassifier.train(trainfeats)
這是錯誤(我知道我這樣做不對,請鏈接到如何Maxent模型作品)
警告(從警告模塊): 文件「C: \ Python27 \ lib中\站點包\ NLTK \分類\ maxent.py」,線1334 SUM1 = numpy.sum(exp_nf_delta * A,軸= 0) RuntimeWarning:在乘法
警告遇到無效值(從警告模塊): 文件「C:\ Python27 \ lib \ site-packages \ nltk \ classify \ maxent.py」,第1335行 sum2 = numpy.sum(nf_exp_nf_delta * A,axis = 0) RuntimeWarning:乘法中遇到的無效值
(從警告模塊)警告: 文件 「C:\ Python27 \ lib中\站點包\ NLTK \分類\ maxent.py」,線1341 增量 - =(ffreq_empirical - SUM1)/ -sum2 RuntimeWarning:無效在劃分遇到值
莫非[此](http://stackoverflow.com/questions/9140744/numpy-error-invalid-value-encountered-in-power)是同樣的問題,也許? –
順便說一句,NLTK使用scipy的maxent分類器。 Maxent分類器已經在scipy中從0.11開始刪除(http://docs.scipy.org/doc/scipy-0.10.1/reference/maxentropy.html)。 Maxent分類可能無法在NLTK中使用。 –