一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法与流程

文档序号:14303713阅读:692来源:国知局

本发明属于葡萄酒分类技术领域,具体涉及一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法。



背景技术:

贝叶斯算法实际上是一种分类方法,跟统计学中通过计算概率来对所统计的数据进行分类的方法类似。而朴素贝叶斯算法是在贝叶斯定理的基础上,降低了待分类项属性值之间独立性假设的一种算法。在所有的机器学习分类算法里面,朴素贝叶斯算法在很大程度区别于其他的分类算法。常见的机器学习分类算法有knn,logistic回归,svm支持向量机,决策树等,对于这些算法,它们往往是通过学习得出特征输出y和特征项x直接的关系,或者通过决策函数和条件分布来分类,过程往往十分的复杂。相对于这些分类算法,朴素贝叶斯分类算法具有简单、易用并且效率高的优势,并且在一些领域的分类问题中发挥着完全不弱于神经网络、决策树的分类能力。简而言之,朴素贝叶斯算法的思想就是假设待分类项的属性之间相互独立,并根据先验概率计算变量x属于某个类别的后验概率,其中先验概率是指事件发生前的预判概率,一般是单独事件概率,后验概率是指基于先验概率求得的反向条件概率。朴素贝叶斯模型不同于决策树模型,它源自于古典数学理论,有着稳定的分类效率。

apriori算法(关联规则算法)是基于频繁项集的关联分析,它通过逐层迭代搜索的方法找到频繁项集(即该项集的支持度大于设定的最小支持度阙值)来发现强关联规则。apriori的算法思想可以分为两步:第一步是自连接获取候选集,就是从数据集d中找出“1-项集”的集合,记为l1,并按顺序链接找出“2-项集”,直到不能找到“k-项集”为止。第二步是剪枝步,是使任一频繁项集的所有非空子集也必须是频繁项集,反之如果某候选集的非空子集不是频繁的,那么该候选集也一定不是频繁项集。apriori算法通过这两步减少了计算量,提高了算法的效率。

但是朴素贝叶斯之所以方便是因为它假设待分类项的n个维度都是相互独立的,而我们知道,在现实生活中这样的假设存在很大的漏洞,在很多情况下是不可能存在的,属性之间多多少少会存在一些联系,这就导致了朴素贝叶斯分类的结果出现偏差。例如在对葡萄酒进行分类的过程中,我们能够采集到葡萄酒的酒精浓度、水、密度、酸碱度、硫酸钾、果酸、甘油、单宁和色素、氯化钠、糖分、柠檬酸、挥发性酸等属性,然而并不是所有这些属性都会对葡萄酒类别的区分起到效果,而采用传统的朴素贝叶斯方法进行分类,会将所有这些属性都考虑在内来对葡萄酒进行分类,其分类结果容易出现偏差。

因此,如何在对葡萄酒进行分类的过程中,去掉那些对葡萄酒类别不产生影响的属性成为了本领域技术人员急需解决的问题。



技术实现要素:

针对现有技术中存在的上述不足,本发明需要解决的问题是:如何在对葡萄酒进行分类的过程中,去掉那些对葡萄酒类别不产生影响的属性。

为解决上述技术问题,本发明采用了如下的技术方案:

一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法,包括如下步骤:

采集待分类红酒的属性信息,其中,所述属性信息包括关键属性信息;

使用关联规则算法基于所述属性信息生成强关联规则;

使用朴素贝叶斯法基于所述强关联规则提取所述关键属性信息;

使用朴素贝叶斯计算所述关键属性信息的权重并对所述关键属性信息加权;

使用朴素贝叶斯法基于加权后的关键属性信息对所述待分类红酒进行分类。

优选地,所述采集待分类红酒的属性信息包括:

采集所述待分类红酒的初始信息;

对所述初始信息进行预处理生成所述属性信息。

优选地,所述对所述初始信息进行预处理生成所述属性信息包括:

清除初始信息中超出预设属性范围的异常属性信息;

使用补全所述初始信息中的缺失信息生成所述属性信息。

优选地,所述强关联规则包括第一关联规则及第二关联规则,其中,所述第一关联规则为属性信息与类别信息的关联规则,所述第二关联规则为不同属性信息之间的关联规则,所述使用朴素贝叶斯法基于所述强关联规则提取所述关键属性信息包括:

判断所述第一关联规则的置信度是否满足预设置信度范围;

当所述第一关联规则的置信度满足预设置信度范围的范围时,判断所述第一关联规则中的属性信息为关键属性信息;

当第二关联规则中的一个属性信息为关键属性信息时,判断所述第二关联规则中的所有属性信息均为关键属性信息。

综上所述,一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法,包括如下步骤:采集待分类红酒的属性信息,其中,所述属性信息包括关键属性信息;使用关联规则算法基于所述属性信息生成强关联规则;使用朴素贝叶斯法基于所述强关联规则提取所述关键属性信息;使用朴素贝叶斯计算所述关键属性信息的权重并对所述关键属性信息加权;使用朴素贝叶斯法基于加权后的关键属性信息对所述待分类红酒进行分类。本发明降低了属性之间的依赖关系,减少了相关性较强的非分类属性以及影响方向相似的条件属性,只使用对分类产生效果的关键属性进行分类,提高了分类的准确性,并且通过得出的关联规则求出关键属性所占权重对该属性进行加权,解决了各个属性所占的权重不同的问题。

附图说明

图1为本发明公开的一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法的流程图。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

如图1所示,本发明公开了一种基于关联规则算法及朴素贝叶斯法的葡萄酒分类方法,包括如下步骤:

s101、采集待分类红酒的属性信息,其中,属性信息包括关键属性信息;

对红酒进行分类时,需要先采集红酒的属性信息,属性信息包含酒精浓度、水、密度、酸碱度、硫酸钾、果酸、甘油、单宁和色素、氯化钠、糖分、柠檬酸、挥发性酸等。在这些属性信息中,包括了对分类起作用的关键属性信息以及对分类不起作用或起到的作用极小的伴生属性信息。

s102、使用关联规则算法基于属性信息生成强关联规则;

可根据实际情况自行设定支持度阈值和高置信度阈值,利用关联规则中的apriori算法,求出每项属性信息的支持度,并与设定的支持度阈值进行比较找出频繁项集,其中求出的属性信息的支持度大于设定的支持度阈值的便是频繁1项集,结合apriori算法的性质,使频繁项集的所有非空子集也必须是频繁项集,进行连接剪枝,找出所有的频繁项集。通过得到的频繁项集产生强关联规则,在找出频繁项集的过程中未超过支持度阈值的项集已被剔除,如果剩下这些规则又满足了都大于高置信度阈值,这些规则就是强关联规则。得到的强关联规则分类结果中包括带分类项的关联规则,即权利要求中的第一关联规则,带分类项的关联规则是若干属性→类别这样的结构组成,如水、糖分→低级红酒,还包括不带分类项的关联规则,即权利要求中的第二关联规则,不带分类项的关联规则由某属性→某属性这种结构组成,如酸碱度→柠檬酸。

s103、使用朴素贝叶斯法基于强关联规则提取关键属性信息;

属性信息中包括了对分类起作用的关键属性信息以及对分类不起作用或起到的作用极小的伴生属性信息,采用朴素贝叶斯法可以提取出关键属性信息。

s104、使用朴素贝叶斯计算关键属性信息的权重并对关键属性信息加权;

基于上述处理之后,对剩下的关键属性进行分析。由于分类项中的每个属性所占权重不同,所以关键属性会对分类的结果产生更大的影响。

传统朴素贝叶斯算法包括三个阶段:准备阶段、分类器训练阶段及应用阶段。在分类器训练阶段,需要计算训练集中出现的每个关键属性对每个类别的条件概率。通过得到关键属性在强关联规则中出现的次数除以强关联规则的总数,得到关键属性的权值wa,对关键属性进行加权。

s105、使用朴素贝叶斯法基于加权后的关键属性信息对待分类红酒进行分类;

根据上述过程得到的结果,我们得到一种新的带分类的关联规则中核心属性加权的朴素贝叶斯公式p(z/y)=argmaxp(z)∏a=1np(ya|z)wk,其中p(z/y)是待分类项y属于哪个类别z的概率,p(z/y)最大时对应的z便是y的类别;argmax(f(x))表示是使得f(x)取得最大值时的变量x;wk=was,s是置信度;p(ya|z)是待分类项y的a属性在类别z中的出现概率,由公式可知,wk越大,p(z/y)越小,且was∈[0,1],故可以对置信度s取s=1-si,si是属性a的置信度。

使用上述加权的朴素贝叶斯公式即可完成对待分类红酒的分类。

本发明降低了属性之间的依赖关系,减少了相关性较强的非分类属性以及影响方向相似的条件属性,只使用对分类产生效果的关键属性进行分类,提高了分类的准确性。

具体实施时,采集待分类红酒的属性信息包括:

采集待分类红酒的初始信息;

对初始信息进行预处理生成属性信息;

最初采集到的信息,可能存在错误,需要进行预处理,例如剔除掉属性不全的待分类红酒的信息,或者将缺失的属性进行补全。

具体实施时,对初始信息进行预处理生成属性信息包括:

清除初始信息中超出预设属性范围的异常属性信息;

使用补全初始信息中的缺失信息生成属性信息;

在采集到的初始信息中可能存在一些异常信息,首先将所有的初始信息与预设属性值进行比较,清除超出预设属性范围的异常属性信息,例如酒精度数的预设属性范围为10%至30%,然而某一待分类红酒的酒精度数为90%,则这一信息为异常信息,将这一信息清楚;

初始信息中,可能会存在原始的缺失信息,也可能因为上一步骤中清除了异常属性信息而存在缺失,为了便于后续的分类,需要将这些信息进行补全,具体的方法可以采用协同过滤算法预测这些属性信息的取值,并对其进行补全,采用协同过滤法进行补全为现有技术,在此不再赘述。

具体实施时,强关联规则包括第一关联规则及第二关联规则,其中,第一关联规则为属性信息与类别信息的关联规则,第二关联规则为不同属性信息之间的关联规则,使用朴素贝叶斯法基于强关联规则提取关键属性信息包括:

判断第一关联规则的置信度是否满足预设置信度范围;

当第一关联规则的置信度满足预设置信度范围的范围时,判断第一关联规则中的属性信息为关键属性信息;

当第二关联规则中的一个属性信息为关键属性信息时,判断第二关联规则中的所有属性信息均为关键属性信息;

朴素贝叶斯的公式:

p(c/x)=(p(cx))/(p(x))=(p(x│c)p(c))/(p(x)),

其中p(x)是x事件的发生概率,是x的先验概率,p(c)是x属于某类别的概率,是c的先验概率,p(c/x)是在x发生的前提条件下c发生的概率,属于后验概率。p(x/c)是在c发生的前提条件下x发生的后验概率。

我们可以发现当分子p(x│c)的值越大时,p(c/x)的结果就越大,该分类项属于x的分类结果的可能性就越大。针对这一点,首先通过对第二关联规则进行分析,这样我们便可以通过关联规则中的置信度来计算属性之间的相关性,比如得到的第二关联规则是x2→x5(x2、x5代表某属性),置信度为60%,而预设置信度范围是大于50%,我们就可以确定x2出现时,x5有很大的可能性一起出现。如果此时由带分类项的强关联规则,即第一关联规则中确定了x5不是关键属性,我们便可以将x5认为是x2的伴生属性,并将剔除该条件属性。通过计算删除了一些伴生属性之后,减少了总属性的个数,使分子p(x│c)的值有所提高,增加了分类的准确性。

综上所述,本发明具有以下优点:

(1)朴素贝叶斯算法的重要先决条件是条件属性之间相互独立,本发明降低了属性之间的依赖关系,减少了相关性较强的非分类属性以及影响方向相似的条件属性。

(2)通过对训练集中已知分类项的属性进行分析,计算出各个属性在不同分类项中出现的概率,再通过得出的关联规则求出关键属性所占权重对该属性进行加权,解决了各个属性所占的权重不同的问题。

(3)对关联规则产生的两种规则带后件和不带后件两种情况进行了处理,通过对两种情况分别进行处理,一种是对剔除不带后件的伴生属性,一种是通过得到的关联规则对关键属性进行加权,增加了分类的准确性。

下面为采用本发明的方法进行分类的举例:

实施例是对红酒的级别进行分类,分为初级、中级及高级红酒三类,记为1,2,3。

首先确定特征属性,分为酒精浓度、水、密度、酸碱度、硫酸钾、果酸、甘油、单宁和色素、氯化钠、糖分、柠檬酸、挥发性酸等属性。

将数据集分为200个训练样本和80个测试样本,其中第一类有64个样本,第二类有78个样本,第三类有58个样本,分别保存在“traning.data”和“test.data”中。

设定支持度阈值和高置信度阈值,对预处理后的数据进行扫描,通过关联规则公式及apriori算法发现预处理之后的属性信息及强关联规则。

将得到的强关联规则分为第一关联规则及第二关联规则。

通过得到的关键属性在强关联规则中出现的次数除以强关联规则的总数得到关键属性的权重wa;

根据上述过程得到的结果,我们采用加权的朴素贝叶斯公式对待分类的红酒进行分类。

得到的测试样本的正确率达到了85.3333%,样本的错误率为14.6667%。

上述仅是本发明优选的实施方式,需指出是,对于本领域技术人员在不脱离本技术方案的前提下,还可以作出若干变形和改进,上述变形和改进的技术方案应同样视为落入本申请要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1