朴素贝叶斯-新闻分类
下面使用经典的20类新闻文本作为试验数据:
Python源码:
#coding=utf-8
#load news data
from sklearn.datasets import fetch_20newsgroups
#-------------
from sklearn.cross_validation import train_test_split
#-------------
from sklearn.feature_extraction.text import CountVectorizer
#-------------
from sklearn.naive_bayes import MultinomialNB
#-------------
from sklearn.metrics import classification_report#-------------download data
news=fetch_20newsgroups(subset='all')
print len(news.data)
print news.data[0]
#-------------split data
#75% training set,25% testing set
X_train,X_test,y_train,y_test=train_test_split(news.data,news.target,test_size=0.25,random_state=33)
#-------------transfer data to vector
vec=CountVectorizer()
X_train=vec.fit_transform(X_train)
#X_test=vec.fit_transform(X_test) raise ValueError('dimension mismatch')
vectorizer_test = CountVectorizer(vocabulary=vec.vocabulary_)
X_test = vectorizer_test.transform(X_test)
#-------------training
#initialize NB model with default config
mnb=MultinomialNB()
#training model
mnb.fit(X_train,y_train)
#run on test data
y_predict=mnb.predict(X_test)
#-------------performance
print 'The Accuracy is',mnb.score(X_test,y_test)
print classification_report(y_test,y_predict,target_names=news.target_names)
Result:
18846
From: Mamatha Devineni Ratnam <mr47+@andrew.cmu.edu>
Subject: Pens fans reactions
Organization: Post Office, Carnegie Mellon, Pittsburgh, PA
Lines: 12
NNTP-Posting-Host: po4.andrew.cmu.edu
I am sure some bashers of Pens fans are pretty confused about the lack
of any kind of posts about the recent Pens massacre of the Devils. Actually,
I am bit puzzled too and a bit relieved. However, I am going to put an end
to non-PIttsburghers' relief with a bit of praise for the Pens. Man, they
are killing those Devils worse than I thought. Jagr just showed you why
he is much better than his regular season stats. He is also a lot
fo fun to watch in the playoffs. Bowman should let JAgr have a lot of
fun in the next couple of games since the Pens are going to beat the pulp out of Jersey anyway. I was very disappointed not to see the Islanders lose the final
regular season game. PENS RULE!!!
The Accuracy is 0.839770797963
precision recall f1-score support
alt.atheism 0.86 0.86 0.86 201
comp.graphics 0.59 0.86 0.70 250
comp.os.ms-windows.misc 0.89 0.10 0.17 248
comp.sys.ibm.pc.hardware 0.60 0.88 0.72 240
comp.sys.mac.hardware 0.93 0.78 0.85 242
comp.windows.x 0.82 0.84 0.83 263
misc.forsale 0.91 0.70 0.79 257
rec.autos 0.89 0.89 0.89 238
rec.motorcycles 0.98 0.92 0.95 276
rec.sport.baseball 0.98 0.91 0.95 251
rec.sport.hockey 0.93 0.99 0.96 233
sci.crypt 0.86 0.98 0.91 238
sci.electronics 0.85 0.88 0.86 249
sci.med 0.92 0.94 0.93 245
sci.space 0.89 0.96 0.92 221
soc.religion.christian 0.78 0.96 0.86 232
talk.politics.guns 0.88 0.96 0.92 251
talk.politics.mideast 0.90 0.98 0.94 231
talk.politics.misc 0.79 0.89 0.84 188
talk.religion.misc 0.93 0.44 0.60 158
avg / total 0.86 0.84 0.82 4712
朴素贝叶斯-新闻分类相关推荐
- 八、朴素贝叶斯中文分类实战
1.朴素贝叶斯中文分类实战 文本分类的流程如下图所示: 朴素贝叶斯中文分类的目录结构 中文分类的目录机构包括停用词文件.训练集文件和和测试集文件,具体内容如下图所示: 2 数据准备与处理 2.1 数据 ...
- 朴素贝叶斯算法-分类算法
朴素贝叶斯算法-分类算法 1 概率基础 概率定义为一件事情发生的可能性 联合概率:包含多个条件,且所有条件同时成立的概率,记作P(A,B) 条件概率:事件A在另一个事件B已经发生条件下的发送概率,记作 ...
- 朴素贝叶斯实现分类_关于朴素贝叶斯分类及其实现的简短教程
朴素贝叶斯实现分类 Naive Bayes classification is one of the most simple and popular algorithms in data mining ...
- r包调用legend函数_R语言实现基于朴素贝叶斯构造分类模型数据可视化
本文内容原创,未经作者许可禁止转载! 目录 一.前言 二.摘要 三.关键词 四.算法原理 五.经典应用 六.R建模 1.载入相关包(内含彩蛋): 1.1 library包载入 1.2 pacman包载 ...
- 构造matlab决策树分类器,Matlab建立逻辑回归,决策树,SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线...
尽管对于较高的阈值,SVM可以产生更好的ROC值,但逻辑回归通常更擅长区分不良雷达收益与良好雷达.朴素贝叶斯的ROC曲线通常低于其他两个ROC曲线,这表明样本内性能比其他两个分类器方法差. 比较所 ...
- matlab绘制贝叶斯曲线,Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
原文链接:http://tecdat.cn/?p=15508 绘制ROC曲线通过Logistic回归进行分类 加载样本数据.load fisheriris通过使用与versicolor和virgini ...
- 数据分析案例实战:贝叶斯-新闻分类
学习唐宇迪<python数据分析与机器学习实战>视频 一.数据分析 每一条包括: theme:新闻关键内容 category:新闻种类 URL:链接 content:新闻内容 额,看着很不 ...
- 新闻数据分析:jieba关键词提取、LDA主题生成、贝叶斯新闻分类
news_analysis.ipynb import pandas as pd import jieba import numpy #pip install jieba 数据源:http://www. ...
- 机器学习(8)朴素贝叶斯算法(20条新闻分类)
目录 一.基础理论 二.实战:20条新闻分类 1.读取数据 2.训练集划分 3.特征工程(文本特征提取) 4.朴素贝叶斯算法训练 5.模型评估 方法一:预测值与真实值比对 方法二:计算准确率 总代码 ...
- 机器学习实战:朴素贝叶斯算法在新闻文本数据上的分类表现
https://www.toutiao.com/a6647102437532369421/ 2019-01-17 08:01:00 大家好,今天跟大家学习一下通过sklearn的朴素贝叶斯模型实战.前 ...
最新文章
- 使用粘性布局实现tab滑动后置顶
- android 长按缩放拖动_十年Android之路面试2000人,面试准备+内部泄露核心题(中高级)...
- 终于等到你!GitHub 终于支持 multi-line comments!
- Kotlin 和Spring WebFlux
- Java布尔类toString()方法及示例
- 模型预测控制c语言程序_搭建第一个程序控制电路LED灯,体会C语言的魅力
- Stanford_NLP_TOOLS:CRFClassifier
- 别扯了,这才是应对高并发的正确处理思路。
- java 获取apk的包名_java从apk文件里获取包名、版本号
- 入职第一天:接口自动化测试怎么测
- mach内核和linux对比,海思Hi3511/Hi3512 Linux内核与标准内核差异说明
- 网页实现语音对讲_通过基于WebRTC的浏览器实现语音通话的方法及系统的制作方法...
- Python实现日程表
- 只用 Markdown 就写出好看的简历,在线简历应用闪亮登场!
- ZUCC_BB平台-Quiz
- libsvmpredict和svmtrain的参数和返回值
- 【GlobalMapper精品教程】033:影像地图羽化方式详解
- RPC:Completed 事件类
- 安卓学习专栏——从文件中读取数据、openFileInput(图文+代码)
- 学3D建模,需要哪些基础?
热门文章
- 网络广告中,CPC、CPA、CPM 的定义各是怎样的?
- 自用frp服务器分享及客户端配置连接教程
- python绘制中国_Python-Geopandas 教你绘制中国地图
- android客户端设计,图文详解Android客户端界面设计教程
- 练习27——IO流的所有用法(二)
- ncbi查找目的基因序列_如何用NCBI和uniprot数据库查找目的蛋白的氨基酸序列或目的基因的碱基序列...
- Python脚本提取氨基酸序列的 因子复杂度
- html中三角函数表示什么,三角函数的化一公式
- python 内存不足_python内存不足
- sql数据库去重语法_SQL如何去重?