李 翔,張 偉
(1.江南大學 物聯網工程學院,江蘇無錫214122;2.淮陰工學院計算機工程學院,江蘇淮安223003)
Apriori算法[1-2]是由 Agrawal、Imielinski、Swami等人共同提出的關聯規則數據挖掘算法。Apriori算法是一種基于水平數據表示、廣度優先搜索的數據挖掘算法。本文通過對學生成績的分析,對Apriori算法進行深入研究,在此基礎之上提出一種在垂直數據表示的數據集上采用交叉計數執行廣度優先搜索的新算法。新算法結合了垂直數據表示和交叉計數高效率的優勢以及Apriori算法的剪枝策略,以降低計數候選集數目。通過對學生多門課程成績的仿真分析,能快速發現相關課程之間的成績影響關系,為學校教學和學生學習提供參考。
定義1:設I={i1,i2,...,im}是數據項集合;設與任務相關的數據D是數據庫事務中的集合,其中每一個事務T是一組項的集合,使得T?I;每一個事務都包含一個唯一的標識符T?D。設A為一個數據項集合,當且僅當A?T時稱事務T包含A[3-4]。一條關聯規則就是一個形如A?B的蘊涵式,其中 A?I,B?I,且 A∩B=Φ。
關聯規則AB成立的條件為:
(1)具有支持度S%,S%=support(A?B)=P(A∪B),即數據庫D中至少有S%的記錄包含A∪B。
(2)具有可信度C%,C%=confidence(A?B)=P(B|A)=P(A∪B)/P(A),即數據庫D中包含了A記錄的同時包含B至少為C%。
支持度是數據項在數據庫中所占的比例,可信度是該規則的強度。滿足最小支持度min_sup的項目集合稱為頻繁項集;既滿足最小支持度min_sup也滿足可信度min_conf閾值的規則稱為強關聯規則,通常記作A?B(S%,C%)。
Apriori算法是挖掘產生布爾關聯規則所需頻繁項集的基本算法。Apriori算法完成頻繁項集的挖掘工作主要是利用了一個層次順序搜索的循環方法來實現?!?br>