基于朴素贝叶斯对Wine数据集分类

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:Oom
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为了解决由于葡萄酒的组成成分十分复杂与多样而导致它的类型分类与品质划分困难的问题,减少由于感官评审法对葡萄酒的评测周期长、影响因素多,主观性强和重复性差以及近红外光谱和三维荧光光谱等重复性差、人的感官长时间易出现适应性疲劳而导致对葡萄酒的口感、质量评测造成不可估计的经济影响。通过对178个葡萄酒样品化学分析数据进行分析处理, 其中有13个葡萄酒属性,使用朴素贝叶斯分类算法对其属性进行分析来确定葡萄酒品质的分类。
  关键词:葡萄酒分类;葡萄酒评测;朴素贝叶斯;数据集;葡萄酒样品
  中图分类号:TP399 文献标识码:A 文章编号:1009-3044(2017)29-0224-03
  Abstract: In order to solve the problem of type classification and difficulty in quality division due to the composition of the wine is very complex and diverse, reduced due to the sensory evaluation method for wine evaluation period is long, the influencing factors are too strong, the subjectivity is strong and the repeatability is poor and the near infrared spectrum and the three-dimensional fluorescence spectrum are reproducible, the human senses are prone to adaptive fatigue for a long time and lead to the taste of the wine , Quality assessment results in unpredictable economic impact. The chemical analysis data of 178 wine samples were analyzed and analyzed, among which there were 13 wine attributes, and the properties of wine were analyzed by using naive Bayesian classification algorithm to analyze the classification of wine quality.
  Key words:Classification of wines; Wine evaluation; Naive Bayesian; data set; Sample of wine
  1 概述
  隨着经济的发展和生活质量的提高,葡萄酒越来越受到大家的欢迎,它的产量和需求量迅速增长,但是它在不适宜的环境中保存容易变质,不仅保存的技术需要复杂的化学知识,造成繁琐、 费时和费用较高, 而且不能对它的组成成分进行全面的分析[1]。感官评测的影响因素多、 主观性比较强,没有统一的参考标准,其重复性差是一个很严重的问题,这种方法对葡萄酒的质量评测及分类造成了难以估量的经济影响[2-3]。葡萄酒的口感与质量是它组成成分的综合反映,由于葡萄酒的组成成分十分的复杂与多样,所以对葡萄酒的类型分类与品质划分比较困难。采用朴素贝叶斯根据酒的13种成分来对酒的种类进行分类。
  2 实验数据与朴素贝叶斯的应用
  2.1 实验数据来源
  该实验的数据源是Wine data,这是对位于意大利同一地区生产的三种不同类型的葡萄酒做大量分析所得出的数据,如图1所示。这些数据包括了三种酒中13种不同成分的具体数量。13种成分分别为:Alcohol,Malic acid,Ash,Alcalinity of ash,Magnesium,Total phenols,Flavanoids,Nonflavanoid phenols,Proanthocyanins,Color intensity,Hue,OD280/OD315 of diluted wines,Proline。在 “wine.data”文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一列为类标志属性,共有三类,分别记为“1”,“2”,“3”;后面的13列为每个样本的对应属性的样本值。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。
  2.2 算法的选取
  经过对数据集以及分类算法的学习, 认真分析了朴素贝叶斯分类器和其他算法, 包括决策树和神经网络等等[4]。 同时由于这个数据集有 13 个属性, 用决策树实现起来会很复杂。 因而选择了用朴素贝叶斯分类算法来实现。 编程的时候采用 c 语言实现分类的功能。将 178 个样本分成 130 个训练样本和 48个测试样本, 采用朴素贝叶斯分类算法, 计算出先验概率和后验概率, 通过比较概率的最大值, 判别出测试样本所属于的酒的类型, 同时输出测试样本计算的正确率和错误率。
  2.3 朴素贝叶斯分类器
  2.3.1 原理介绍
  朴素贝叶斯分类器( Naive Bayes Classifier, NBC) , 是贝叶斯分类器中应用最为广泛的模型之一。 该模型描述如图 2 所示。
  假设有一个变量集,其中包括个条件属性。包含个类标签。朴素贝叶斯分类模型假设所有的条件属性都作为类变量的孩子节点。将给定的一个待分类样本,分配给类,当且仅当:。根据贝叶斯定理[5-6],有:   如果事先不清楚类在数据集中的概率情况时,可以假设每个类别的概率相等。即有:
  并根据这个对最大化。否则,最大化。因对于所有的类别均为常数,故有:
  由朴素贝叶斯分类算法的条件属性相互独立的假设,有:
  其中,是类在训练样本中的实例数,是训练样本总数。则NBC模型的公式表达式为:
  概率可由训练样本估值,其中:
  1) 如果属性是离散型的,则是在属性上具有值的类的训练样本个数。
  2) 如果属性是连续值,则一般假定它服从高斯分布。因而,
  其中是属性的高斯密度函数,,分别为平均值和标准方差。
  3) 对于待分类样本,我们分别计算每个类别的条件概率。
  当且仅当时,样本属于类别。
  2.3.2 算法步骤
  1) 对所需的数据集进行预处理,包括属性值离散化和缺失值填补;
  2) 统计训练样本的个数、类为的样本数、类的样本中属性取值为的样本个数;
  3) 计算和
  4) 利用分类模型:得出待分类样本的判定结果。
  3 实验方案
  3.1 朴素贝叶斯分类算法
  每个数据样本用一个维特征向量表示,分别描述对个属性样本的个度量。假定有个类对于数据样本,分类法将预测属于类,当且仅当条件成立,根据贝叶斯定理式(1)。由于对于所有类都是常数,需最大化,计算,朴素贝叶斯分类假设类条件独立。即给定样本属性值相互条件独立,即在使用中,常用频度代替[7]。
  3.2 朴素贝叶斯分类流程
  对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,概率最大,就认为此待分类项属于哪个类别。在没有其他可用信息下,选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。那么现在的关键就是如何计算第3步中的各個条件概率[8-9]。其步骤为:
  1) 找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
  2) 统计得到在各类别下各个特征属性的条件概率估计。
  3) 如果各个特征属性是条件独立的,则根据贝叶斯定理式(1)。
  因为分母对于所有类别为常数,只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有 。
  根据上述分析,朴素贝叶斯分类的流程可以由下图表示:
  4 实验步骤
  4.1 数据集的下载
  在http://archive.ics.uci.edu/ml/网页上下载实验所用的Wine数据集。点击Wine数据集,在页面上,点击Data Folder,下载wine.data数据,即为实验所需的数据集。
  4.2 朴素贝叶斯算法实现
  首先,将Wine数据集分成130个训练样本和48个测试样本,分别保存在“Ttrainingwine.data”和“testwine.data”中。用Data Read从文件中读取数值。
  然后用朴素贝叶斯算法的思想:
  1) 统计三类红酒数据的数量,各自求和,各自类的数量除以总数,求出它们的先验概率,保存在数组中的。
  2) 分别求中,中和中的个数。
  3) 计算概率,计算,同样的方法去计算概率,,,,把这三个计算出来的概率值,,保存在数组gailv中的gailv[0],gailv[1],gailv[2]。
  4) 比较gailv[0],gailv[1],gailv[2],找出最大值,最大值所对应的那个类即为要找的wine的分类。
  4.3 结果分析
  在运行环境为Microsoft Visual Studio 2013下运行的实验结果如下面的截图所示。通过比较gailv[0],gailv[1],gailv[2],找出最大值,最大值所对应的那个类即为要找的wine的分类与测试样本数据作比较后的正确率为81.25%,从结果上看有效的对红酒的类型进行了分类,总体说明此方法的可行性。相应的提高训练样本与测试样本比例或者把离散化算法的区间划得更小一点可以进一步提高分类的正确率。
  参考文献:
  [1] 杜婷.基于属性选择的朴素贝叶斯分类研究与应用[D].中国科学技术大学,2016.
  [2] 卢龙,王静宇,王超.面向云计算的数据挖掘分类算法研究[J/OL].微型机与应用,2017,36(06):7-9 12.(2017-03-31)[2017-09-11].http://kns.cnki.net/kcms/detail/11.5881. TP.20170331. 1929.003.htmlDO:10.19358/j.issn.1674-7720.2017.06.003
  [3] 喻凯西.朴素贝叶斯分类算法的改进及其应用[D].北京林业大学,2016.
  [4] 赵文涛,孟令军,赵好好,王春春.朴素贝叶斯算法的改进与应用[J].测控技术,2016,35(02):143-147.[2017-09-11].
  [5] 徐会.基于贝叶斯理论的网络舆情主题分类模型研究[D].江苏科技大学,2014.
  [6] 周霞.基于云计算的太阳风大数据挖掘分类算法的研究[D].成都理工大学,2014.
  [7] 余民杰.贝叶斯网络分类器与应用[D].云南财经大学,2012.
  [8] 彭兴媛.朴素贝叶斯分类改进算法的研究[D].重庆大学,2012.
  [9] 刘沛骞,冯晶晶.一种改进的朴素贝叶斯文本分类算法[J].微计算机信息,2010,26(27):187-188.
其他文献
在Gleeble-3500热模拟仪上进行热压缩实验,研究在变形温度为623~773K、应变速率为0.01~20s-1时均匀化状态下Al-6.2Zn-0.70Mg-0.30Mn-0.17Zr合金的热变形行为。实验结果表明:变
帮助文件的制作是应用程序设计工作中相当重要的一环,也是程序员必备的编程技巧之一,可惜这方面的介绍的比较少。现略为谈谈制作帮助文件的技巧及所需要的工具。为了管理和显示
范得蒙行列式与拉格朗日插值公式看来没什么关系,但仔细思索可得结论:应用范得蒙行列式可推得拉格朗日插值公式.
交换网络环路是为交换网络提供冗余链路时形成的,环路的存在导致了交换网络中广播风暴的产生,致使交换网络的MAC地址系统失效。这是冗余链路最大的问题所在,而为了避免单点故
新技术挑战传统电信网当前,电信界正面临着一场百年未遇的巨变,开放市场、引入竞争的进度明显加快,电信管制体制改革的力度明显加大。特别是近年来,以因特网为代表的新技术革
本文采用症状自评量表(SEE-90)和自行编制的心理健康影响因素问卷相结合的形式,对我校贫困学生的心理健康状况进行调查分析,并就贫困学生教育和管理工作提出了对策和建议。
我们在讲演会上经常听到鼓掌声,这种有声言语的类语言所表达的含义是深刻而丰富的。掌声可以表示“欢迎、高兴、感慨、赞同或鼓励”,也可以表达“不满、反对、否定或拒绝”。
汉语口汉研究会暨首届年会于一九八八年十月二十一日在河北省沧州召开。大会经过四天的学术交流,选举理事会,圆满地完成了预定任务,于二十四日胜利闭幕。 来自全国十七个省、
由中国社会科学院哲学研究所、中国逻辑学会、中国玄奘研究中心、中国藏学研究中心、燕山大学、中山大学逻辑认知科学研究所、杭州佛学院共同主办的首届国际因明学术研讨会,于