郜振霞,吳軍華,王學軍,3
(1.南京工業大學電子與信息工程學院,江蘇南京 210009;2.聊城大學傳媒技術學院,山東 聊城 252000;3.承德石油高等專科學校,河北承德 067000)
關聯規則挖掘在網絡課程推薦中的應用
郜振霞1,2,吳軍華1,王學軍1,3
(1.南京工業大學電子與信息工程學院,江蘇南京 210009;2.聊城大學傳媒技術學院,山東 聊城 252000;3.承德石油高等專科學校,河北承德 067000)
以網絡課程推薦為例探索關聯規則在網絡教學平臺中的實現與應用。引入關聯規則中的Apriori算法應用于網絡課程關聯分析,從而挖掘出潛在的網絡課程相關規律,為學生學習、教師安排教學內容等提供科學依據。
關聯規則;Apriori算法;網絡課程推薦
關聯規則挖掘(Association Rule Mining)是幫助發現大量數據庫項集之間的關聯關系,隨著大量數據的增加和存儲,人們對于從數據庫中挖掘這些規則越來越感興趣。關聯規則挖掘問題已經成為數據挖掘中最成熟、最重要、最活躍的內容。
關聯規則問題由Agrawal等人于1993年首先提出,以后諸多的研究人員對關聯規則的挖掘問題進行了大量的研究。簡單地說,關聯規則就是給定一組項目和一個記錄集合,通過分析記錄集合,推導出項目間的相關性[1]。
關聯規則挖掘問題可以這樣來表述:設I={i1,i2,i3,…,im,…,ip}是挖掘的數據庫中全體項目(Item)集合,im(m=1,2,…,p)稱為項目(item);D={t1,t2,…,tk…,tn}是挖掘的數據集,tk(k=1,2,…,n)稱為事務(Transaction),其中每個事務tk是一個項目集合,并滿足tk?I。每個事務都有唯一的標識符,稱為TID。
一個關聯規則便是一個如下形式的蘊涵關系,X→Y,其中X?I,Y?I,且X∩Y=φ。X或Y是一個項目的集合,X為前件,Y為后件。
規則X→Y的支持度(Support)是指D中包含X∪Y的事務的百分比。支持度表示規則在事務集合D中使用的頻繁程度。設n是D中事務的數目,規則X→Y的支持度公式為

規則X→Y的置信度(Confidence)是指既包含了X又包含了Y的事務的數量占所有包含了X的事務的百分比。規則X→Y的置信度計算公式為

支持度和置信度是兩個常用的衡量關聯規則強度的指標。關聯規則挖掘就是指在給定的一個事務集合T中找到所有滿足用戶指定的最小支持度(minsup)和最小置信度(minconf)的關聯規則。
關聯規則挖掘過程一般可分為兩個步驟:1)獲取頻繁項集。根據最小支持度找出數據集中的所有頻繁項集。2)產生關聯規則。根據頻繁項集合最小置信度產生關聯規則。
在關聯規則的眾多算法中,Apriori算法是最為經典的關聯規則挖掘算法,后來的許多算法都是對Apriori算法的改進和擴展。Apriori算法是挖掘單維布爾型關聯規則頻繁項目集的有效算法。
Apriori算法分兩步進行:第一步生成所有頻繁項目集,一個頻繁項目集就是一個支持度高于minsup的項集;第二步從頻繁項目集中生成所有可信關聯規則,一個可信關聯規則就是置信度高于minconf的規則。頻繁項目集生成部分,Apriori算法使用逐層搜索的迭代算法,利用k—項集探索(k+1)—項集。它采用多輪搜索的方法,每一輪搜索掃描一遍整個數據集,并最終生成所有的頻繁項目集。以下是Apriori算法產生頻繁集部分算法的描述。

其中Candidate-gen()函數被用于生成除第一趟之外的每一趟掃描的候選項目集,主要包括合并和剪枝兩步,使用的主要依據是向下封閉原理,頻繁項集的任一子集也一定是頻繁的,其算法描述這里不再贅述。
學生登錄不同的網絡課程網站時會留下“痕跡”,采集這些“痕跡”,利用關聯規則挖掘算法進行數據分析,找到學生訪問的頻繁網絡課程集,借此對學生進行課程推薦。
這里所使用的網絡課程平臺是基于網站群技術建立的。基于此平臺建設的網絡課程獨立成站并且可以使用不同的服務器。學生登錄某一網絡課程時就會在該網絡課程的服務器上留下“痕跡”,即產生服務器日志文件。由于這些“痕跡”分布在不同的服務器上,數據的搜集和清洗都比較困難。針對學生需要憑借個人賬號登錄學習網絡課程的特點,每當學生進入某一課程時,平臺系統會自動寫入一條“登入”記錄到數據庫中,對這些登入數據信息進行挖掘,就大大簡化了數據預處理工作。如果需要,也可以按照學生年級、專業對學生登入信息進行分類存儲。
這里只給出“登入”信息表的片段,借以描述數據預處理的過程。流程如下:
1)數據獲取 系統自動寫入的登入信息存儲在數據庫中相應的課程登入信息表中,如表1所示。
2)事務識別 學生登錄課程進行學習,學習時間一般較長,因此在劃分用戶事務集時,用簡單的時間段劃分,這里以日期為依據劃分用戶事務。事務識別算法如表2所示。

表1 課程登入信息表

表2 課程訪問事務識別算法
表1中的舉例信息經過事務識別,可得到事務集合,如表3所示。

表3 課程事務表
使用Apriori算法進行關聯規則挖掘,以課程事務表中的事務集合為原數據,進行頻繁課程集的挖掘。如果 minsup=40%,minconf=70%,那么從上述事務表片段中可以得到頻繁集{501805},得出規則501805→501815。根據課程號找到相應課程名稱,即501805對應課程《數據結構》,501815對應課程《C程序設計》,規則可以解釋為關注《數據結構》的同學的大多數(70%以上)還關注了《C程序設計》。因此就可以根據規則對學生提出網絡課程學習的建議,如果學生學習了《數據結構》,便可推薦其再去學習或復習《C程序設計》課程。
網絡課程平臺支持網絡課程的教學,網絡課程信息量巨大,運用關聯規則挖掘算法進行數據挖掘,能夠得到網絡課程很多有價值的信息,本文挖掘出的網絡課程間的規則不僅可以向學生提供課程推薦,而且對教師安排網絡課程鏈接、調整教學內容等也同樣具有指導意義。
[1] 趙軼,周艷山.Apriori算法在高校課程設置中的應用研究[J].林區教學,2008(6):121-122.
[2] 朱艷麗,高國紅.Apriori算法研究及其在學生成績分析中的應用[J].福建電腦,2010(1):147.
[3] 李雪嬋.關聯規則在課程相關性中研究與應用.計算機與數字工程[J],2006,34(9):173-176.
[4] 元昌安.數據挖掘原理與SPSS Clementione應用[M].北京:電子工業出版社,2009.
Application of Association Rule in Network Course Recommendation
GAO Zhen-xia1,2,WU Jun-hua1,WANG Xue-jun1,3
(1.School of Electronic and Information Engineering,Nanjing University of Technology,Nanjing 210009,Jiangsu,China;2.School of Media and Communications,Liaocheng University,Liaocheng 252000,Shandong,China;3.Chengde Petroleum College,Chengde 067000,Hebei,China)
The paper mainly uses the network course recommendation as an example to explore the realization and application of association rule in network course platform.It applies the Apriori algorithm to the association analysis of network courses,providing a scientific basis for learning and teaching.
association rule;Apriori algorithm;network course recommendation
TP393-45
A
1008-9446(2011)04-0052-03
2011-10-25
郜振霞(1980-),女,山東聊城人,南京工業大學在讀碩士研究生,主要從事計算機應用、數據挖掘的研究。