R语言朴素贝叶斯Naive Bayes分类Iris鸢尾花和HairEyeColor学生性别和眼睛头发颜色数据...

全文链接:http://tecdat.cn/?p=31070

最近,在贝叶斯统计实验中,我们向客户演示了用R的朴素贝叶斯分类器可以提供的内容点击文末“阅读原文”获取完整代码数据)。

这个实用的例子介绍了使用R统计环境的朴素贝叶斯模型。它不假设先验知识。

相关视频

我们的步骤是:

1.启动R

2.探索Iris鸢尾花数据集

3.构造朴素贝叶斯分类器

4.理解朴素贝叶斯

探索Iris数据集

在这个实践中,我们将探索经典的“Iris”数据集。

Iris数据集有150个数据点和5个变量。每一个数据点包含一个特定的花样本,并给出4种花的测量值。

任务是用花的特征与种类一起构建一个分类器,从4种对花的观测量中预测花的种类。

要将Iris数据集放到您的R会话中,请执行以下操作:

data(iris)

查看数据

pairs(iris[1:4],main="

8ec0fe87c485e2d8cff2e9aa985c44ed.png

命令创建了一个散点图。类决定数据点的颜色。从中可以看出,setosa花的花瓣比其他两种都要小。


点击标题查阅往期内容

32a6a8f1d9ea013f489e13bb8cd7985e.jpeg

R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间

outside_default.png

左右滑动查看更多

outside_default.png

01

605951a2a2f57160f36643041758ef70.png

02

df06b62d1dc08b3ee17613b0e42d7aa9.png

03

9ad7f99c59a201fcfacdf13d6b784fe1.png

04

d3da622fe9a56f0246379304a254c48d.png

提供数据摘要

summary(iris)

225a3e71b87a4ccdc273057de37bb0b1.png

构造朴素贝叶斯分类器

我们构建一个朴素的贝叶斯分类器。

(1)加载到工作区

(2)构建朴素贝叶斯分类器,

(3)对数据进行一些预测,执行以下操作:

library(e1071)  
classifier<-naiveBayes(iris[,1:4], iris[,5])  
table(predict(classifier, iris[,-5]), iris[,5], dnn=list('predicted','actual'))

e0bcc06dfa893187053df01cd5105d9a.png

正如你应该看到的那样,分类器在分类方面做得很好。

7dd37434f02269daff6a72dd680de7aa.png

这给出了数据中的类分布:类的先验分布。(“先验”是拉丁语,表示“从前开始”)。

由于这里的预测变量都是连续的,朴素贝叶斯分类器为每个预测变量生成三个Giaussian(正态分布)分布:一个用于类变量的每个值。

您将看到3个依赖于类的高斯分布的平均值(第一列)和标准偏差(第二列):

e26bcfb80e9ce8480b9c5fac22fbb9dc.png

绘制成图:

plot(function(x) dnorm, 0, 8, col=2, main="3种不同物种的花瓣长度分布")
curve(

2e3642e2ffa7a3727c26a9df2690ca6a.png

值得注意的是,setosa irises(蓝色曲线)花瓣较小(平均值=1.462),花瓣长度变化较小(唐氏偏差仅为0.1736640)。

理解朴素贝叶斯

在这个问题中,您必须计算出对于一些离散数据,朴素贝叶斯模型的参数应该是什么。

该数据集被称为HairEyeColor,有三个变量:性别、眼睛和头发,给出了某大学592名学生的这3个变量的值。首先看一下数字:

437efc915b913dc2a538c562e34166f9.png

您还可以将其绘制为“马赛克”图,它使用矩形来表示数据中的数字:

a39b04c2c27dd078473e640a89fd3a49.png

你在这里的工作是为一个朴素贝叶斯分类器计算参数,它试图从另外两个变量中预测性别。参数应该使用最大似然性来估计。为了节省手工计算的繁琐时间,下面是如何使用Edge.table来获取所需的计数

5bc3412e2906de49fea121bc4839f780.png

naiveBayes(Sex ~

8d5a33de5d1b2c1764a8f5304f659d7b.png

预测

1f353de44477c8a5867885769510922c.png


726200c9d316de9dca9301cc0c269baa.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言朴素贝叶斯Naive Bayes分类Iris鸢尾花和HairEyeColor学生性别和眼睛头发颜色数据》。

点击标题查阅往期内容

R语言JAGS贝叶斯回归模型分析博士生延期毕业完成论文时间

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

Python贝叶斯推断Metropolis-Hastings(M-H)MCMC采样算法的实现

Metropolis Hastings采样和贝叶斯泊松回归Poisson模型

Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据

R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析

R语言Metropolis Hastings采样和贝叶斯泊松回归Poisson模型

R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断

R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例

R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数

R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

Python贝叶斯回归分析住房负担能力数据集

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

Python用PyMC3实现贝叶斯线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言贝叶斯线性回归和多元线性回归构建工资预测模型

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言stan进行基于贝叶斯推断的回归模型

R语言中RStan贝叶斯层次模型分析示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

bf82368ee6cb6ed5a7e22161250a365c.png

304d94e8bb485b19db7217b6f6958365.jpeg

bcee0989393e888ef206e92ba36b8c51.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部