1
NLTK의 SklearnClassifier 및 BernoulliNB를 사용하여 데이터를 분류하려고합니다. 이것은 몇 가지 코드 :'SklearnClassifier'개체에 NLTK의 'batch_classify'속성이 없습니다.
train = posFeatures[174:]+negFeatures[174:]+neuFeatures[174:]
devtest = posFeatures[124:174]+negFeatures[124:174]+neuFeatures[124:174]
test = posFeatures[:124]+negFeatures[:124]+neuFeatures[:124]
dev, tag_dev = zip(*devtest)
def score(classifier):
classifier = SklearnClassifier(classifier)
classifier.train(train)
pred = classifier.batch_classify(dev)
return accuracy_score(tag_dev,pred)
print('BernoulliNB accuracy is %f'%score(BernoulliNB()))
다음이 오류가있어 : 나는 python3.5.2, nltk3.2.1, 0.18을 scikit 배우고 사용하고
Traceback (most recent call last):
File "G:/pycharm/quanbu.py", line 53, in <module>
print('BernoulliNB accuracy is %f'%score(BernoulliNB()))
File "G:/pycharm/quanbu.py", line 51, in score
pred = classifier.batch_classify(dev)
AttributeError: 'SklearnClassifier' object has no attribute 'batch_classify'
합니다.
는 https://github.com/nltk/nltk/wiki/Porting-your-code-to-NLTK-3.0에서 봐 – alvas
방금 시작 했으므로 아직 포트 할 코드가 없으므로 다음과 같이하십시오. 필요한 모든 문서의 최신 버전을 찾으십시오. – alexis
고마워, 내가 해결했다. – BoomKa