sklearn中的朴素贝叶斯模型及其应用
1、(1)多项式
from sklearn.datasets import load_iris
iris = load_iris() from sklearn.naive_bayes import GaussianNB#贝叶斯
gnb = GaussianNB()
pred = gnb.fit(iris.data,iris.target)
y_pred = pred.predict(iris.data)#预测
print(iris.data.shape[0],(iris.target!=y_pred).sum()) from sklearn.naive_bayes import BernoulliNB
bnl = BernoulliNB()
pred = bnl.fit(iris.data,iris.target)#g构造模型
y_pred = pred.predict(iris.data)#预测
print(iris.data.shape[0],(iris.target!=y_pred).sum())
(2)高斯分布型
from sklearn.naive_bayes import GaussianNB
gnb1=GaussianNB()#构造建立模型
pred=gnb1.fit(iris.data,iris.target)#模型训练,拟合
y_pred=gnb1.predict(iris.data)#分类预测
print(iris.data.shape[0],(iris.target!=y_pred).sum())
scores=cross_val_score(gnb1,iris.data,iris.target,cv=10)
print("Accuracy:%.3f"%scores.mean())
print(y_pred)
(3)伯努利型
from sklearn.naive_bayes import BernoulliNB
gnb2=BernoulliNB()#构造
pred=gnb2.fit(iris.data,iris.target)#模型训练,拟合
y_pred=gnb2.predict(iris.data)#分类预测
print(iris.data.shape[0],(iris.target!=y_pred).sum())
scores=cross_val_score(gnb2,iris.data,iris.target,cv=10)
print("Accuracy:%.3f"%scores.mean())
print(y_pred)
2、
from sklearn.datasets import load_iris
iris = load_iris() from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import cross_val_score
gnb=GaussianNB()
scores=cross_val_score(gnb,iris.data,iris.target,cv=10)
print("Accuracy:%.3f"%scores.mean()) from sklearn.naive_bayes import BernoulliNB
from sklearn.model_selection import cross_val_score
gnb=BernoulliNB()
scores=cross_val_score(gnb,iris.data,iris.target,cv=10)
print("Accuracy:%.3f"%scores.mean())
from sklearn.naive_bayes import MultinomialNB from sklearn.model_selection import cross_val_score gnb=MultinomialNB() scores=cross_val_score(gnb,iris.data,iris.target,cv=10) print("Accuracy:%.3f"%scores.mean())
3、
import csv
file_path=r'D:\1\SMSSpamCollectionjsn.txt'
sms=open(file_path,'r',encoding='utf-8')
sms_data=[]#邮件的内容
sms_label=[]#邮件的类别
csv_reader=csv.reader(sms,delimiter='\t')
for line in csv_reader:
sms_label.append(line[0])
sms_data.append(line[1])
sms.close()
sms_data=str(sms_data)#将列表转化为字符串
sms_data=sms_data.lower()#对大小写进行处理
sms_data=sms_data.split()#变成列表的形式
sms_data1=[]#存放处理后的内容
i=0
for i in sms_data:#去掉长度小于3的单词
if len(i)>4:
sms_data1.append(i)
continue
sklearn中的朴素贝叶斯模型及其应用的更多相关文章
- 11.sklearn中的朴素贝叶斯模型及其应用
#1.使用朴素贝叶斯模型对iris数据集进行花分类 #尝试使用3种不同类型的朴素贝叶斯: #高斯分布型,多项式型,伯努利型 from sklearn import datasets iris=data ...
- 统计学习1:朴素贝叶斯模型(Numpy实现)
模型 生成模型介绍 我们定义样本空间为\(\mathcal{X} \subseteq \mathbb{R}^n\),输出空间为\(\mathcal{Y} = \{c_1, c_2, ..., c_K\ ...
- 第十三次作业——回归模型与房价预测&第十一次作业——sklearn中朴素贝叶斯模型及其应用&第七次作业——numpy统计分布显示
第十三次作业——回归模型与房价预测 1. 导入boston房价数据集 2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示. 3. 多元线性回归模型,建立13个变量与房价之间的预测模 ...
- 一步步教你轻松学朴素贝叶斯模型算法Sklearn深度篇3
一步步教你轻松学朴素贝叶斯深度篇3(白宁超 2018年9月4日14:18:14) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对 ...
- 机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型
该系列来自于我<人工智能>课程回顾总结,以及实验的一部分进行了总结学习机 垃圾分类是有监督的学习分类最经典的案例,本文首先回顾了概率论的基本知识.则以及朴素贝叶斯模型的思想.最后给出了垃圾 ...
- PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes
http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑 ...
- Python实现 利用朴素贝叶斯模型(NBC)进行问句意图分类
目录 朴素贝叶斯分类(NBC) 程序简介 分类流程 字典(dict)构造:用于jieba分词和槽值替换 数据集构建 代码分析 另外:点击右下角魔法阵上的[显示目录],可以导航~~ 朴素贝叶斯分类(NB ...
- 后端程序员之路 18、朴素贝叶斯模型(Naive Bayesian Model,NBM)
贝叶斯推断及其互联网应用(一):定理简介 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.ht ...
- R 基于朴素贝叶斯模型实现手机垃圾短信过滤
# 读取数数据, 查看数据结构 df_raw <- read.csv("sms_spam.csv", stringsAsFactors=F) str(df_raw) leng ...
随机推荐
- Android Studio之SVN打分支、切换分支及合并分支
1.打分支: 右击项目--Subversion--Branch or Tag 点击OK,分支就创建成功了,接下来我们切换到分支v2 2.切换分支: 右击项目--Subversion--Update D ...
- Redis安装部署教程
1)下载 redis-3.2.9.tar.gz 2)用ssh工具连接目录主机,在命令窗口输入:mkdir -p /opt/redis创建redis文件夹 3)通过WinSCP工具将redis-3.2. ...
- sed 命令简介
sed 默认把文件内容全部显示出来(擅长取行 替换) 参数如下: - n 取消默认输出 一般与P一起使用 查看内容‘10,20p’ 显示10-20 行的内容 - i 修改文件内容 - i.bak ...
- 使用DD 创建SWAP
1创建所需swap空间的文件 + records in + records out bytes ( MB) copied, 2.01386 s, 52.1 MB/s[root@web01 ~]# ll ...
- java8 stream lambda 一个例子
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Pa ...
- Linux下数据库备份
1.登录数据库服务器并切换到数据库用户下 [root@*** ~]# su - oracle 2.测试用户名密码是否能正确连接数据库 [oracle@*** ~]$ sqlplus username/ ...
- 页面通过Jquery取值然后传值到后台显示underfined是怎么回事?
页面通过Jquery取值然后传值到后台显示underfined是怎么回事? 一般情况下第一个如果用jQuery取值的,末尾要用val(),如果用$符号取值的,末尾要加上val. eg: busines ...
- spring中基于JDK和CGLIB代理在项目的应用
一.环境与问题 环境 spring boot的版本是1.2.1.RELEASE.JDK版本是1.7 问题 A服务 PeopleService 调用B服务 HelloService ,其中B服务的方 ...
- shell中特殊位置参数变量
shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1.. ...
- 从运维的角度理解Iaas、Paas、Saas云计算
平时我们的运维工作,大致就是了解需求.申请服务器.配置网络.服务器软件安装.应用部署.数据存储.系统调优.平台维护等 按照Iaas.Paas.Saas的三层来分工我们平时的任务: 最底层的Iaas层提 ...