首页 > 文章中心 > 正文

农业网站规则算法的应用

农业网站规则算法的应用

1基于关联规则的APRIORI算法

APRIORI算法是一种最有影响的挖掘关联规则频繁项集的算法[3]。关联规则的挖掘分为两个过程[4]:找出所有频繁项集,这些项集出现的频繁性至少和预定义的最小支持记数一样;由频繁项集产生强关联规则,根据强关联规则定义,这些规则必须满足最小支持度和最小置信度。Apriori算法挖掘频繁项集,算法使用逐层搜索的迭代方法,k_项集用于探索(k+1)_项集。首先,找出频繁l_项集的集合,该集合称作L1。L1用于找出频繁2_项集的集合L2,L2用于找L3,如此找下去,直到不能找到频繁k_项集。找每个Lk需要一次数据库扫描。为提高频繁项集逐层产生的效率,通常使用Apriori性质压缩搜索空间。可见,频繁项集的所有非空了集都必须也是频繁的。根据定义,如果项集I不满足最小支持度min_sup,则I不是频繁的,即P(I)<min_aup。如果项A添加到I,则结果项集(I∪A)不可能比I更频繁出现。因此,IA也不是频繁的,即P(I∪A)<min_sup。Apriori性质属于一种特殊的分类,称作反单调,意指如果一个集合不能通过测试,则它的所有超集也都不能通过相同的测试。Apriori算法由两步组成:(1)连接步:为找Lk,通过Lk-1与自己产生候选k_项集。该候选项集的集合计作Ck。设l1和l2是Lk-1中的项集。假定事务或项集中的项按字典次序排列。记号li[j]表示l1的第j项。执行连接(Lk-1联合Lk-1),其中Lk-1的元素是可连接的。如果它们前(k-2)个项相同。即是,Lk-1的元素l1和l2是可连接的,如果(l1[1]=∧l2[1])(l1[2]=l2[2])…(l1[k-2]=l2[k-2])∧(l1[k-1]<l2[k-1]),条件(l1[k=1]<l2[k-1])是简单保证不产生重复。l1和l2连接产生的结果项集是l1[1]l1[2]…l1[k-1]l2[k-1]。(2)剪枝步:Ck是Lk的超集;即是,它的成员可以是也可以不是频繁的,但所有的频繁k_项集都包含在Ck中。扫描数据库,确定Ck中每个候选的计数,从而确定Lk。然而Ck可能很大,为压缩Ck,可以使用Apriori性质,如果一个候选k_项集的(k-1)_子集不在LK-1中,则该候选也不可能是频繁的,从而可以由Ck中删除。

2APRIORI算法在农业网站日志中的应用

APRIORI算法针对不同的应用,不同的问题规模,应选择不同的优化方法,甚至在需要准确性的情况下,可以考虑牺牲性能。如选样的优化方法在问题规模很大的情况下,可以大大地提高性能,但可能会遗漏重要的规则。如上面描述的挖掘网站资源的关联上,在进行了概念分层处理后,问题规模大大减小,我们就可以不考虑采用选样的优化方法。本文采用数据挖掘的权威软件SAS。SAS的数据挖掘方法论称作SEMMA(抽样、探索、修改、建模、评估)。SAS/EM集成了数据获取工具、数据取样工具、数据筛选工具、数据变量转换工具、数据挖掘数据库、数据挖掘过程、多种形式的回归工具,为建立决策树的数据剖分工具、决策树浏览工具、人工神经元网络、数据挖掘的评价工具。可利用SAS/EM中具有明确代表意义的图形化的模块将这些数据挖掘的工具单元组成一个处理流程图,并依此来组织用户的数据挖掘的过程。这一过程在任何时候均可根据具体情况的需要进行修改、更新并将适合用户需要的模式存储起来,以便此后重新调出来使用。对数据集中的变量进行模型元类型的更改,将包含IP地址的字段设置为ID元类型、包含URL用户访问页面地址的字段设置为Target元类型,然后进行关联规则算法挖掘。

2.1算法分析

结果窗口,Rules页面包含了每条规则的信息。认为规则BoardID=37(农产品加工)==>BoardID=21(畜产品加工)是网站用户一次升录同时访问的2个栏目,其他的参数解释如下:Support(9.6%)forBoardID=37(农产品加工)==>BoardID=21(畜产品加工),支持度反映模式的实用性,关联模式的支持度是模式为真的任务相关元组(或事务)所占的百分比。Confidence(62.47%)forBoardID=37(农产品加工)==>BoardID=21(畜产品加工),置信度反映模式的确定性,每个发现的模式都应该有一个表示其确定性的度量。因此,此关联规则挖掘访问网站栏目的用户一次访问同时要访问的哪些栏目的假定数据组成。一个置信度为62.47%的关联规则“BoardID=37(农产品加工)==>BoardID=21(畜产品加工)”意味访问BoardID=37(农产品加工)的用户62.47%也要访问BoardID=21(畜产品加工)栏目。一个支持度为9.3%的关联规则BoardID=37(农产品加工)==>BoardID=21(畜产品加工)表示访问网站的全部用户的9.3%同时访问了BoardlD=37(农产品加工)和BoardID=21(畜产品加工)两个栏目。关联规则如下:规则1:BoardID=84(供求信息)==>BoardID=90(供求信息),支持度Support(21.65%),置信度Confidence(65.97%)。规则2:BoardID=90(供求信息)==>BoardID=84(供求信息),支持度Support(21.65%),置信度Confidence(57.52%)。规则3:BoardID=37(农产品加工)==>BoardID=21(畜产品加工),支持度Support(9.60%),置信度Confidence(62.47%)。规则4:BoardID=21(畜产品加工)==>BoardID=37(农产品加工),支持度Support(9.60%),置信度Confidence(80.077%)。规则5:BoardID=37(农产品加工)==>BoardID=12(国外农业),支持度Support(9.48%),置信度Confidence(61.40%)。规则6:BoardID=12(国外农业==>BoardID=37(农产品加工),支持度Support(9.48%),置信度Confidence(76.52%)。规则7:BoardID=37(农产品加工)==>BoardID=23(食品科学),支持度Support(9.35%),置信度Confidence(60.86%)。规则8:BoardID=23(食品科学)==>BoardID=37(农产品加工),支持度Support(9.35%),置信度Confidence(83.24%)。

2.2模式评价

在评价版块栏目之间联系时,如果支持度过小(通常为5%)时,则没有强规则被发现,说明网站版块栏目的独立性较强,版块栏目之间联系较小、紧密性不强,访问者只对某个版块栏目感兴趣。农业专家在线现有咨询栏目40余个,通过关联规则挖掘,发现了以上8条规则,农产品加工与畜产品加工、农产品加工与国外农业、农产品加工与食品科学等咨询栏目存在关联,这也反映了网站用户迫切需要这方面的农业知识,农业专家在线将利用挖掘的结果加大此类论坛的专家力量、更改论坛导航等内容方便广大用户访问,其他农业类网站也可以利用这个挖掘结果把网站内容多多关注此类信息。

2.3挖掘农业网站

由于农业专家在线咨询栏目以论坛形式进行组织的,用户访问论坛栏目跳转的次数用线条的粗细进行表示,其中农产品加工(BoaidID=37)、植物病害(BoardID=39)、蔬菜(BoaadID=41)、农业机械(BoaadID=85)是这个时间段用户频繁访问的栏目。图2为详细路径模式,可以清楚看出线条代表用户访问网站具体的序列。它是通过论坛主页(index.asp),依次访问农产品加工(BoardID=37)、植物病害(BoardID=39)、蔬菜(BoaadID=41)、农业机械(BoaidID=85)等栏目的。在详细路径图单代表了整体用户访问模式。在图中,可以看到最频繁访问的URLs集中在中间部分,由厚厚的红色和蓝色点点组成。频繁访问URLs也显示用户是在这些页面进入或离开此网站的。可以通过LINK分析挖掘出任意2个栏目的最短访问路径,以下是用户从大豆遗传育种(BoaadID=1)到农业机械(BoaadID=85)用户访问的最短路径。一共这一时间段中共有92人选择了经过畜禽传染病防治(BoardID=31)栏目进行路径选择。

3结语

本文研究了关联规则算法及算法改进措施,采用SAS软件数据挖掘模块,利用关联规则、链接分析等过程挖掘农业专家在线网站日志及信息构建。通过挖掘发现农产品加工与畜产品加工、农产品加工与国外农业、农产品加工与食品科学等咨询栏目存在关联,农业用户频繁访问的农业栏目为网站首页,依次访问农产品加工、植物病害、蔬菜、农业机械等栏目,为网站改进及相关农业网站建设必将起到重要指导性作用。