蘇偉斌
本文介紹了Apriori算法的基本概念并以本人所在的中職學校計算機專業為例,介紹了使用Apriori算法來挖掘數據之間關聯性的方法,找出規律,分析結果,為實際教學工作提供理論支持。
【關鍵詞】Apriori算法 成績分析 數據挖掘
隨著校園信息化的發展,很多學校都已經建立了各種信息管理系統,在這些系統中往往存儲著大量的數據。我們可以通過數據挖掘技術分析這些數據,找出規律為教學工作提供指導。常用的數據挖掘技術有關聯規則Apriori算法。
1 Apriori算法概述
1.1 基本概念
Apriori算法是一種挖掘數據之間關聯性和依賴性的算法。其基本概念有以下幾個:
事務:一個事務包含一個唯一的事務標識符(trans_ID)以及一個組成事務的項的列表。由事務組成的集合稱為事務數據庫(D)。
項:組成事務的各項成員我們通常稱為項或者項目,通常用I={i1,i2,i3,……in}來表示所有項的集合;由K個項目組成的集合又稱為K-項集。
支持度:指事務A和事務B在D中同時出現的概率,記作,它的計算公式可以表達如下:sup(AB)=P(A∩B),通常只有支持度大于或等于一定的值才能使研究有意義,這個值稱為最小支持度閾值min_sup。
置信度:指在D中,當出現事務X時,事務Y出現的概率,記作,表示如下:conf(AB)=P(A|B),通常只有置信度大于或等于一定的值才能使研究有意義,這個值稱為最小置信度閾值min_conf。
關聯規則:指的是形式如下的邏輯蘊涵式:AB 其中AI,BI,且A∩B≠ 。
頻繁項集:指頻繁地在數據集中出現的項的集合,如果K-項集的支持度大于等于min_sup,該集合稱為頻繁K項集,記作Lk。
1.2 頻繁項集的生成
Apriori算法使用基于先驗知識的逐層搜索的迭代方法來產生頻項集。K-項集由(K-1)-項集產生,其過程如下:
定義min_sup的值,掃描數據庫D,找出滿足min_sup的項,產生頻繁1項集L1,通過迭代,由L1產生L2直到不能產生更大的頻繁項集。為了提高效率,當搜索Lk(K>1)時要進行連接和剪枝。
Apriori算法假設項集中的項是按字典排序的,所以要求LK-1中的每個子項有l[1] 根據頻繁項集的所有子集都是頻繁項集這一特性把非頻繁的K項集刪除,得到頻繁集LK。 1.3 強關聯規則的產生 找到最大頻繁項集后就可以由它來產生關聯規則,對于每個頻繁集l的所有非空子集s,只要滿足sup(l)/sup(s)>=min_conf,則輸出規則,對于同時滿足最小支持度和最小置信度的關聯規則我們又稱其為強關聯規則,由于前述關聯規則是由最大頻繁項集推導出來的,所以它們自然滿足最小支持度,是強關聯規則。 2 Apriori算法在三二分段成績分析中的應用 2.1 確定挖掘對象 本文通過研究挖掘本校11、12和13級計算機專業學生的《計算機基礎》、《程序設計》、《網頁制作》、《計算機英語》、《數據庫技術》、《動畫制作》、《圖像處理》的學業成績,找出影響學生三二分段考試成績最重要的影響因素。本次研究所采用的成績數據為751條,全部來源于本校教務系統。 2.2 數據處理 由于不是每個學生都參加了三二分段考試,所以在清理數據時首先要把沒有參加的剔除,另外還有部分學生因各種原因導致某個科目缺考的也一并把他的記錄刪除。最后整理出來的數據表包含了學號、科目和“三二分段結果”9個字段,共705條記錄。 2.3 數據轉換 為了方便進行挖掘,要對學生的各科成績進行規范化轉換,把散落在一定范圍的成績轉換為一個邏輯值。結合本次挖掘的目的,我們把《計算機基礎》、《程序設計》、《網頁制作》、《計算機英語》、《數據庫技術》、《動畫制作》和《圖像處理》分別用A、B、C、D、E、F、和G來表示,對于單科成績大于等于60分的,用數字1表示;否則用數字0表示。三二分段考試結果用isPasswed來表示,通過用1表示,否則用0表示。轉換后的數據表樣式如表1。 2.4 算法描述 2.5 結果分析 經過反復調整和測試,把最小支持度設定為25%,最小置信度設定為60%,產生強關聯規則12條,排除與本實驗目的相關性不大的規則,得出如表2的結果。 規則1說明,有60.1%的學生同時通過了《計算機基礎》和三二分段考試,如果《計算機基礎》通過了,則通過三二分段考試的機率是80.3%;規則2說明,有50.8%的學生同時通過了《網頁制作》和三二分段考試,如果《網頁制作》通過了,則通過三二分段考試的機率是75.1%;規則3說明,有40.2%的學生同時通過了《動畫制作》和三二分段考試,如果《動畫制作》通過了,則通過三二分段考試的機率是68.3%;規則4說明,有28.5%的學生同時通過了《程序設計》和三二分段考試,如果《程序設計》通過了,則通過三二分段考試的機率是62.8%; 通過以上分析可以看到,對三二分段考試成績影響最大的科目是《計算機基礎》、《網頁制作》、《動畫制作》和《程序設計》。因此,要提高三二分段考試的通過率我們可以加強這些科目的學習。 3 結束語 本文介紹了使用Apriori算法分析本人所在中職學校計算機專業學生的學業考試成績數據,找到了影響三二分段考試成績的最重要的科目,為提高三二分段考試成績提供方向性的支持。 參考文獻 [1]楊巍巍.Apriori算法在學生成績分析中的應用[J].電腦知識與技術2013(13):59-61. [2]譚慶.關聯規則Apriori算法在試卷成績分析中的應用研究[J].信陽師范學院學報:自然科學版.2009(2):22. [3]趙輝.數據挖掘技術在學生成績分析中的研究及應用[D].大連:大連海事大學,2007. 作者單位 東莞理工學校 廣東省東莞市 523000