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