使用TfidfVectorizer并且不去掉停用词的条件下,对文本特征进行量化的朴素贝叶斯分类性能测试
2017-09-14 13:32
816 查看
from sklearn.datasets import fetch_20newsgroups news = fetch_20newsgroups() from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(news.data, news.target, test_size=0.25, random_state=33) from sklearn.feature_extraction.text import TfidfVectorizer tfidf_vec = TfidfVectorizer() x_tfidf_train = tfidf_vec.fit_transform(x_train) x_tfidf_test = tfidf_vec.transform(x_test) from sklearn.naive_bayes import MultinomialNB from sklearn.metrics import classification_report mnb_tfidf = MultinomialNB() mnb_tfidf.fit(x_tfidf_train, y_train) print('The accuracy of classifying 20nesgroups with Naive Bayes(TfidVectorizer without filtering stopswords):', mnb_tfidf.score(x_tfidf_test, y_test)) y_tfidf_predict = mnb_tfidf.predict(x_tfidf_test) print(classification_report(y_test, y_tfidf_predict, target_names = news.target_names))
运行结果如下:
The accuracy of classifying 20nesgroups with Naive Bayes(TfidVectorizer without filtering stopswords): 0.824673029339
precision recall f1-score support
alt.atheism 0.90 0.73 0.81 108
comp.graphics 0.83 0.83 0.83 130
comp.os.ms-windows.misc 0.93 0.67 0.78 163
comp.sys.ibm.pc.hardware 0.67 0.81 0.74 141
comp.sys.mac.hardware 0.93 0.86 0.89 145
comp.windows.x 0.89 0.86 0.87 141
misc.forsale 0.96 0.67 0.79 159
rec.autos 0.82 0.93 0.87 139
rec.motorcycles 0.93 0.93 0.93 153
rec.sport.baseball 0.95 0.93 0.94 141
rec.sport.hockey 0.90 0.99 0.94 148
sci.crypt 0.60 0.99 0.75 143
sci.electronics 0.94 0.76 0.84 160
sci.med 0.99 0.84 0.90 158
sci.space 0.89 0.90 0.89 149
soc.religion.christian 0.53 0.98 0.68 157
talk.politics.guns 0.77 0.93 0.84 134
talk.politics.mideast 0.90 0.98 0.94 133
talk.politics.misc 0.99 0.53 0.69 130
talk.religion.misc 1.00 0.14 0.25 97
avg / total 0.86 0.82 0.82 2829
相关文章推荐
- 分别使用CountVectorizer与TfidfVectorizer, 并且去掉停用词的条件下,对文本特征进行量化的朴素贝叶斯分类性能测试
- 使用CountVectorizer并且不去掉停用词的条件下,对文本特征进行量化的朴素贝叶斯分类性能测试
- python中对不CountVectorizer与TfidfVectorizer,去停用词,对文本特征量化结合Bayes算法进行分类,可视化分析
- 特征提升之特征提取-基于文本数据的DictVectorizer,TfidfVectorizer在去掉停用词和不去停用词条件下的分析
- 【机器学习笔记之八】使用朴素贝叶斯进行文本的分类
- 使用CountVectorizer和TfidfVectorizer对fetch_20newsgroups数据进行分类,并对是否使用停用词进行对比(精确度)
- 【NLP】使用朴素贝叶斯进行文本的分类
- 【机器学习实验】使用朴素贝叶斯进行文本的分类
- 《Spark机器学习》笔记——Spark高级文本处理技术(NLP、特征哈希、TF-IDF、朴素贝叶斯多分类、Word2Vec)
- 使用朴素贝叶斯进行文本的分类
- 【机器学习实验】使用朴素贝叶斯进行文本的分类
- 【机器学习实验】使用朴素贝叶斯进行文本的分类
- 使用opensmile提取音频的特征,得到特征向量,并扔进libsvm中进行分类训练测试
- 使用 Hibernate 进行大数据量的性能测试
- 使用soapUI进行webservices性能测试
- 使用JMeter进行性能测试
- 使用 Hibernate 进行大数据量的性能测试
- 使用Hibernate进行大数据量的性能测试
- 使用ApacheBench进行网站性能测试
- 使用SOAPUI对WEBSERVICE进行性能测试