基于数据挖掘的贝叶斯算法应用研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于数据挖掘的贝叶斯算法应用研究
毕春光;陈桂芬
【摘要】在众多的数据挖掘算法中,贝叶斯算法因为准确性高,运算性能强而得到广泛应用.利用日常生活中的例子深入浅出的阐述了贝叶斯算法的基本原理,并应用SQL Server 2005数据挖掘工具,对2009年收集的农安地力评价的数据进行了分析,同时应用贝叶斯算法对地力等级进行了预测.
【期刊名称】《农业网络信息》
【年(卷),期】2010(000)003
【总页数】4页(P19-22)
【关键词】数据挖掘;贝叶斯算法;预测
【作者】毕春光;陈桂芬
【作者单位】吉林农业大学,信息技术学院,吉林,长春,130118;吉林农业大学,信息技术学院,吉林,长春,130118
【正文语种】中文
【中图分类】TP33
面对越来越多的数据,人们更加期待从中找到潜在的、有用的知识,这使得数据挖掘越来越受到关注。

在众多的数据挖掘算法中,贝叶斯算法支持快速有效地创建有预测功能的挖掘模型,并且提供了一种浏览数据和理解数据的新方法。

在处理大规模数据库时,贝叶斯算法表现出较高的准确性和运算性能,在实际项目中得到了广
泛的应用。

1 贝叶斯算法的基本原理
贝叶斯算法是一种可以快速生成并且适合预测性建模的分类算法,支持离散属性或离散化属性,而且在给定可预测属性的情况下,它将所有输入属性都当作独立属性。

贝叶斯定理是概率论中的一个基本定理[1],它可以表述为:若B1,B2,B3,……,构成一个完备的事件组,且它们都具有正概率,则对任意概率不为零的事件A,有:
以下通过一个例子来进行说明,已知在线购物的数据集,要预测顾客是否会购买一个新的电子商务产品。

根据表1的数据,进行如表2的统计。

假设有一位新顾客,其数据如下所示:
顾客收入=低
表1 调查数据表
表2 数据统计表属性属性值购买不买购买的可能性顾客收入不买的可能性低 1
3 1/6 3/6中等 2 2 2/6 2/6高 3 1 3/6 1/6小计 6 6 1.0 1.0是
4 2 4/6 2/6受教
育程度顾客用高速网络连接否 2 4 2/6 4/6小计 6 6 1.0 1.0高中 1 5 1/6 5/6太
学 5 1 5/6 1/6小计 6 6 1.0 1.0预测 6 6 6/12 6/12
顾客使用高速网络连接=否
受教育程度=大学
购买的可能性=1/6*2/6*5/6=0.0463,不买的可能性=3/6*4/6*1/6=0.0556。

可以把这些估计转换成为概率,规范它们的和为1,则
购买的概率=0.0463/(0.0463+0.0556)=45.44%
不买的概率=0.0556/(0.0463+0.0556)=54.56%
2 贝叶斯算法的参数
由于贝叶斯算法实现比较简单,所以涉及到的参数也不多,已有的参数能够确保该算法在一个合理的时间内执行完成。

通常,当使用参数时,这个算法可选择某个属性作为输入,某个属性作为输出,并且将每个参数设置为0,该算法就会考虑所有属性,如:
MAXIMUM_INPUT_ATTRIBUTES参数用来设置训练中输入属性的个数。

MAXIMUM_OUTPUT_ATTRIBUTES参数用来设置训练中输出属性的个数。

MAXIMUM_STAES参数用来控制要考虑一个属性的多少个状态。

MINIMUM_DEPENDENCY_PROBABILITY参数是一个度量标准,表示一个输入属性可以预测一个输出属性的概率[2]。

3 贝叶斯算法的应用
当贝叶斯算法与SQL Server Analysis Services 2005提供的查看器联合使用时,提供了一种高效的数据浏览方式。

贝叶斯模型能够描述该模型中属性之间的关系,而使用其他方法很难发现这些关系。

3.1 数据准备工作
在开始建立模型之前,需要确定解决的问题,还要对数据进行全面的了解,并且规定最终目标。

由于数据库可能存在不完整、不一致的数据,可能会对数据挖掘的结果造成较大影响,所以在数据挖掘之前需要对数据进行预处理,生成可用的目标数据。

原始数据中的数据经过整理成为样本数据、测试数据和预测数据三张表。

3.2 创建Analysis Services项目
创建数据挖掘解决方案,首先需要创建一个新的Analysis Services项目,再为该项目添加并配置数据源和数据源视图。

数据源定义了连接到挖掘模型所基于的数据源时使用的连接字符串和身份验证信息。

数据源视图提供数据源的摘要信息,使用该摘要信息修改数据结构可以使其与项目的关系更密切。

3.3 添加挖掘结构
创建完Analysis Services项目后,可以基于每个结构的一个或多个挖掘模型来添加挖掘结构,挖掘结构是从该项目中的现有数据源视图派生的。

添加新的挖掘结构将启动数据挖掘向导,使用该向导可以定义结构并指定创建基于该结构的初始模型时使用的算法和定型数据[3]。

通过解决方案中资源管理器的新建挖掘结构向导,建立了基于Naive Bayes的新
的挖掘结构,如图1所示。

可选择样本数据表为当前事例,如图2所示。

单击下
一步,进行指定数据操作,可以选择每个列的类型,有可预测列、输入列和键3
种类型。

其中,指定序号为键,等级为可预测列,成土母质、作物轮作适宜性、年降雨量等是输入列。

对于可预测列,系统可以参考相应的建议,将事例表中的数据列出与可预测列关系密切的列。

最后命名并保存新的挖掘结构和Naive Bayes的
挖掘模型,完成向导。

3.4 查看贝叶斯模型
查看贝叶斯模型的过程非常简单,贝叶斯算法对数据不会执行任何的高级分析,所以对模型的查看实际上只是以一种新的方式来查看数据。

图1 选择挖掘算法
图2 指定表类型
Naive Bayes查看器共有四种视图可查看贝叶斯模型,分别为依赖关系网络视图、属性配置文件视图、属性特征视图和属性对比视图。

在BI Development Studio
或者SQL Server Management Studio中,右击某一模型,从弹出的菜单中选择浏览,就可以打开查看器进行查看。

(1)依赖关系网络视图
为使Analysis Services将定型数据传递给算法来填充模型,必须对它进行处理。

Analysis Services为不同的算法提供了单独的查看器,通过挖掘模型查看器可以
查看到刚刚处理的模型结构,依赖关系网络(见图3)则提供了一种快速显示模
型中所有属性之间的相互关系的方法。

图3 中的每一个节点代表一个属性,每一条边代表一个关系。

通常情况下,箭头
指向的节点是可预测属性,通过查找节点,可以定位到感兴趣的属性上。

在这个例子中,在用户查看影响可预测属性状态的所有属性时,显示决定地力等级的主要因素。

图3 Naive Bayes依赖关系网络
(2)属性配置文件视图
属性配置文件视图是可以直观地观察算法分布状态的方式,如图4所示,在此视
图下可列出数据集中的每个输入列。

如果提供了可预测的每种状态,还可以显示每一列中状态的分布情况。

图4 属性配置文件视图
可以利用该视图确定在区分可预测列状态中具有重要作用的输入列,以及不同属性对于地力等级的概率。

这一点也是Naive Bayes算法区别于其他算法的重要之处。

(3)属性特征视图
属性特征视图允许选择属性和值,并且该选项卡能够显示对于属性和值所在事例的描述,如图5所示。

在查看属性特征时,要注意属性特征并不隐含预测能力,且
小于最小节点分数的输入将不会显示。

图5 属性特征视图
(4)属性对比视图
属性对比视图能够针对感兴趣的问题提供答案,只要选择相应的属性和想要比较的状态,属性对比视图就可以指出哪一个因素支持哪一个状态。

在图6中,针对作
物轮作适宜性大于等于4.429 718 875 2的情况,地力等级更有可能是大于等于5.348 122 866 4,这不意味着完全没有其他地力等级的可能。

3.5 校正模型
查看模型后,还可以对这些模型进行测试,确定它们执行预测的性能。

数据挖掘设计器还提供了挖掘准确性图表选项卡,并提供了一些工具,可以使用这些工具计算模型的预测精度,校正理想值,从而查看这些模型的预测准确性,如图7所示。

图6 属性对比视图
图7 挖掘准确性图表
3.6 生成预测
大多数数据挖掘项目的主要目标是使用挖掘模型来创建预测。

Analysis Services 提供了一种数据挖掘扩展插件(DMX)的查询语言,该语言是创建预测的基础。

为了帮助生成DMX预测查询,SQL Server在SQL ServerManagementStudio 和 BusinessIntelligence Development中提供了查询生成器,并在Management Studio中提供了用于查询编辑器的DMX模版。

在Business Intelligence Development中,可以从数据挖掘设计的挖掘模型预测选项卡中访问查询生成器[4]。

测试完挖掘模型的准确性并确定对这些模型满意之后,可以使用数据挖掘设计器中挖掘模型预测选项卡的预测查询生成器来创建数据挖掘扩展插件(DMX)预测查询。

使用设计和查询视图,可以生成并检查查询,最后在结果视图中运行查询并查看结果。

4 结束语
Analysis Services提供了数种工具,可以借助这些工具使用数据挖掘。

数据挖掘扩展插件(DMX)语言提供了一些语句,可以使用这些语句创建、定型和使用数据挖掘模型,还可以通过使用XML for Analysis(XMLA)和Analysis Services 脚本语言(ASSL)的组合或使用分析管理对象(AMO)来执行这些任务。

通过使用这些工具,对贝叶斯分类进行如下概括:
(1)贝叶斯分类并不把一个对象绝对地指派给某一类,而是通过计算得出属于某
一类的概率,具有最大概率的便是该对象所属的类;
(2)一般情况下在贝叶斯分类中所有的属性都具有潜在作用,即并不是一个或几个属性决定分类,而是所有的属性都参与分类;
(3)贝叶斯分类对象的属性可以是离散的、连续的,也可以是混合的。

参考文献
[1]朱德利.SQL Server2005数据挖掘与商业智能完全解决方案[M].北京:电子工业出版社,2007,366~367
[2]ZhaoHui Tang,等.数据挖掘原理与应用[M].北京:清华大学出版社,2007,109~120
[3]Mike Gunderloy,Joseph L Jorden,David W Tschanz.SQL Server 2005从入门到精通[M].北京:电子工业出版社,2006,718~728[4]袁然,王诚梅.SQL Server2005经典实例教程[M].北京:电子工业出版社,2006,383~390。

相关文档
最新文档