def wordfeatures(word):
return {"cnword":word}
.....
classifier=nltk.NaiveBayesClassifier.train(samplewords)
#大学所属的类别 http://blog.csdn.net/myhaspl
print u"----大学所属的类别-----"
print classifier.classify({"cnword":u"大学"})
#大脑所属的类别http://blog.csdn.net/myhaspl
print u"----大脑所属的类别-----"
print classifier.classify({"cnword":u"大脑"})
#测试数据分类准确率http://blog.csdn.net/myhaspl
print nltk.classify.accuracy(classifier,testwords)
#特征0分类最有效的10个词http://blog.csdn.net/myhaspl
for wf,mostword in classifier.most_informative_features(10):
print mostword,
print
#为显示utf-8,将show_most_informative_features代码进行修改http://blog.csdn.net/myhaspl
#classifier.show_most_informative_features(10) 也可直接调用这句,但是UTF8显示有问题 http://blog.csdn.net/myhaspl
cpdist = classifier._feature_probdist
print('Most Informative Features')
for (fname, fval) in classifier.most_informative_features(10):
def labelprob(l):
return cpdist[l, fname].prob(fval)
labels = sorted([l for l in classifier._labels
if fval in cpdist[l, fname].samples()],
key=labelprob)
if len(labels) == 1:
continue
l0 = labels[0]
l1 = labels[-1]
if cpdist[l0, fname].prob(fval) == 0:
ratio = 'INF'
else:
ratio = '%8.1f' % (cpdist[
数学之路(机器学习实践指南)-文本挖掘与NLP(6)
最新推荐文章于 2022-05-04 19:59:33 发布
本文是数学之路系列的第六篇,主要探讨了在文本挖掘和自然语言处理(NLP)中如何使用朴素贝叶斯分类进行词条分类。博客强调内容为原创,并提供了来源链接。
摘要由CSDN通过智能技术生成