可见贝叶斯分类器的分类效不雅有了很大年夜晋升。
5. 枷⒚鹋息量丰富的词和双词搭配,并以此作为特点
在应用分类算法进行分类之前,第一步是要把所有原始的语料文本转化为特点表示的情势。
- word_scores = create_word_bigram_scores()
- best_words = find_best_words(word_scores, 1500) #选择信息量最丰富的1500个的特点
- posFeatures = pos_features(best_word_features)
- negFeatures = neg_features(best_word_features)
结不雅如下:
- BernoulliNB`s accuracy is 0.910000
- MultinomiaNB`s accuracy is 0.860000
- LogisticRegression`s accuracy is 0.800000
- SVC`s accuracy is 0.800000
- LinearSVC`s accuracy is 0.750000
- NuSVC`s accuracy is 0.860000
可以发明贝努利的贝叶斯分类器效不雅持续晋升,同时NuSVC 也有很大年夜的晋升。
dev, tag_dev = zip(*devtest) #把开辟测试集(已经经由特点化和付与标签了)分为数据和标签
此时,我们选用BernoulliNB、MultinomiaNB、NuSVC 作为候选分类器,应用词和双词搭配作为特点提取方法,测试不合的特点维度的效不雅。
三、再之后特点要降维。
- dimension = ['500','1000','1500','2000','2500','3000']
- for d in dimension:
- word_scores = create_word_scores_bigram()
- best_words = find_best_words(word_scores, int(d))
- posFeatures = pos_features(best_word_features)
- negFeatures = neg_features(best_word_features)
- train = posFeatures[174:]+negFeatures[174:]
- devtest = posFeatures[124:174]+negFeatures[124:174]
- test = posFeatures[:124]+negFeatures[:124]
- dev, tag_dev = zip(*devtest)
- print 'Feature number %f' %d
- print 'BernoulliNB`s accuracy is %f' %score(BernoulliNB())
- print 'MultinomiaNB`s accuracy is %f' %score(MultinomialNB())
- print 'LogisticRegression`s accuracy is %f' %score(LogisticRegression())
- print 'SVC`s accuracy is %f' %score(SVC())
- print 'LinearSVC`s accuracy is %f' %score(LinearSVC())
- print 'NuSVC`s accuracy is %f'
推荐阅读
进修怎么在保护 root 暗码的安然性的同时,为可托用户付与所治理的收集功能和特定办事的权限。我比来写了一个简短的 Bash 法度榜样来将 MP3 文件大年夜一台收集主机的 USB 盘中拷贝到另一台收集主机上去。拷贝出来的>>>详细阅读
本文标题:使用python+机器学习方法进行情感分析(详细步骤)
地址:http://www.17bianji.com/lsqh/40229.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示