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

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

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


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


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

相关视频

(7D426XZ@XIF}T4MHZU9M{I.png


我们的步骤是:

1.启动R

2.探索Iris鸢尾花数据集

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

4.理解朴素贝叶斯

探索Iris数据集

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

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

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

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

data(iris)

查看数据

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

`%()4)A%]C9X_01S4@PDE04.png

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


点击标题查阅往期内容


Y_A{YSBIYI[U@AG)TP8B99F.png

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

左右滑动查看更多

01

)62663VYU66DF`@E$$EE$QI.png

02

O1P6~D`{JQ6[MO`K%XCA7`E.png

03

GZ{NGO4S{574GAZE6J((W3M.png

04

REN2IJ_Y2IHD4{I}GMM`_IX.png



提供数据摘要

summary(iris)

1W9]RMO0@SINTDSQH~)RFEV.png

构造朴素贝叶斯分类器

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

(1)加载到工作区

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

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

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

F1]_(LTE4POC~SNXYFPN)5R.png

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

J~G$8MZ0KJMGWL42$S45VH3.png

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

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

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

D(RY2TAZLZA0MXQ}U~2HAN3.png

绘制成图:

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

{057YFJRKWR923F_ZXYIPJX.png

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

理解朴素贝叶斯

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

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

9Z19@W}%XT3%3QI}Z]1EH}O.png

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

%L_C1QQ}%`]OV2GH25V0FEW.png

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

6N6QD3B5Y}%1GI0X98M~V25.png

naiveBayes(Sex ~

M9Q[LV6BLA40HLD)75N}W6C.png

预测

E~5HHJ3N4$Z4DNKBW[1J8SB.png



{A3]{PAAS73M%Y]NZRQ6@(E.png

点击文末“阅读原文”

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


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

相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
3月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
4月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
48 3
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。