電子技術論文發(fā)表期刊推薦《電子經理世界》雜志于2004年9月創(chuàng)刊,由美國國際數據集團(IDG)創(chuàng)辦,并與國際著名出版集團 ReedBusinessInformation的 ElectronicBusiness雜志結盟。作為中國電子行業(yè)唯一的一本以中高層經理人為核心讀者的期刊,《電子經理世界》憑借IDG在中國十多年來 的電子媒體運作的成功經驗、資源,以專業(yè)的洞察力和編輯水準,透視產業(yè)環(huán)境、聚焦企業(yè)運營、挖掘技術變革中的商機,致力于為電子產業(yè)管理決策層提供權威 性、前瞻性、實用性兼?zhèn)涞慕洜I決策參考。
摘 要: 針對高校學生成績數據庫的特點,采用基于壓縮矩陣的Apriori算法來分析學生各學科成績之間的相關性。該算法可以使矩陣更小,并減少掃描數據庫和壓縮矩陣的次數。通過分析學生各學科成績的關聯,找出有意義的關聯規(guī)則,可以為教師進行教學活動及教學管理人員制定教學計劃、進行教學管理等提供參考。
關鍵詞: 壓縮矩陣,Apriori算法,數據挖掘,成績相關性
Research on correlation analysis of college student’s achievements based on Apriori algorithm with compressed matrix
LONG Jun?yu
(Guangdong Vocational Institute of Technology, Zhuhai 519090, China)
Abstract: Aiming at the characteristics of the college students' achievement database, Apriori algorithm based on the compressed matrix is used to analyse the correlation of the student’s achievements of each subjects. By this algorithm, the scale of the matrix becomes smaller, and the times of scanning the database and the compressed matrix can be reduced. By correlation analysis of the student’s achievements of each subjects, the meaningful correlation rules can be found out, and the references can be provided for teachers to carry out teaching activities and for the teaching administrators to make teaching plans and teaching management.
Keywords: compressed matrix; Apriori algorithm; data mining; achievement correlation
0 引 言
近年來隨著高校不斷擴張,在校學生人數不斷增加,給高校教學及管理工作帶來了嚴峻的考驗。對高校而言,教學工作始終是核心工作,而學生的學習成績作為學校教學質量和學生掌握知識程度的直觀體現,一直以來都受到高校學生、老師及教學管理人員的共同關注。目前,許多高校都建立了自己的成績管理系統,但這些數據庫大多只能做一些數據備份、修改、統計和查詢工作,對學生的成績分析也只限于簡單的統計分析,而對成績分數后真正影響學生成績的因素卻無法分析出來 [1]。利用數據挖掘技術對學生的學習成績進行分析,不但可以找出隱含在學生成績數據背后的一些有價值的信息,而且還能據此分析課程間的相互聯系,為學生選課、教師進行教學活動及教學管理人員進行課程設置、制定教學計劃及進行教學評價等提供參考依據,進而起到提高教學質量、增強學校競爭力的目的。
Apriori算法是數據挖掘關聯規(guī)則中的經典算法,該算法廣泛應用于各種領域,但該算法存在兩個性能瓶頸問題:一是需要大量掃描事務數據庫,需要很大的I/O負載;二是可能產生大量的候選項集,需耗費大量的時間處理[2?3]。近年來,已經有很多基于Apriori算法的改進和優(yōu)化,例如基于散列技術、事務壓縮、抽樣、動態(tài)項集計數等[4]。也有許多研究人員將Apriori算法應用到高校成績管理系統中,并針對高校成績數據庫的特點對 Apriori算法作出了改進和優(yōu)化[1?7],但Apriori算法在高校成績數據庫系統中的分析應用還是一個值得繼續(xù)深入研究和探討的問題。
雖然高校成績數據庫里的數據信息多。但高等學校專業(yè)較多,大多數專業(yè)課程往往只在個別或者部分專業(yè)開設,基礎課程往往也隨著專業(yè)的不同各有側重。因此,就某一專業(yè)或某一班級而言,成績數據量并不非常大[5]。采用基于矩陣的Apriori算法[5?6]只需掃描一次數據庫,將數據一次性讀入一個二維數組,減少I/O負載,提高程序運行的效率。因此,對高校成績數據庫而言,基于矩陣的Apriori算法可以解決Apriori算法的瓶頸問題。但基于矩陣的Apriori算法也存在需要多次掃描二維矩陣,以及在連接過程中矩陣的規(guī)模過于龐大的問題。因此,本文根據高校成績數據庫的特點,采用基于壓縮矩陣的Apriori算法對高校成績數據庫進行數據挖掘,該算法可以減少掃描矩陣的次數,降低連接過程中矩陣的規(guī)模,并能有效地對成績相關性規(guī)律進行分析和研究。
1 基于壓縮矩陣的Apriori算法
1.1 基本算法原理
關聯規(guī)則挖掘問題描述如下[6?7]:設[I=][I1,I2,…,Im]是項目的集合,任務相關的數據D是數據庫事務的集合,其中每一個事務T都是項的集合,使得[T?I]。關聯規(guī)則是形如[A?B]的蘊含式,其中[A?I,B?I],并且[A∩B=?]。定義支持度為D中包含[A?B]的百分比,置信度為D中包含A的事務同時也包含B的百分比。即: [support(A?B)=P(A?B)]
[confidence(A?B)=P(BA)]
如果項集的出現頻率大于或等于最小支持度min_support與D中事務總數的乘積,則稱它為頻繁項集。
基于壓縮矩陣的Apriori算法是由付沙等在基于矩陣的Apriori算法基礎上,提出的一種算法[7],羅丹等針對該算法的不足,做出了進一步的改進[8]。該算法涉及到關聯規(guī)則挖掘算法的如下性質和定理:
性質1:頻繁項集的所有非空子集都必須也是頻繁項集。
推論1:如果頻繁k項集還能產生頻繁(k+1)項集,則頻繁k項集中的個數必大于k。
性質2:非頻繁項集的任一超集必定也是非頻繁項集。
性質3:不包含任何頻繁k項集的事務不可能包含任何頻繁(k+1)項集。
定理1:如果數據庫中某條事務的長度為k,那么這條事務就不可能包含任何項數大于k的頻繁項集。
定理2:在由(k-1)項集生成k項集時,當(k-1)項集作自身連接時,若兩個項集的前(k-2)項不同,則放棄該兩個項集的連接運算,因為產生的項集不是重復的就是非頻繁項集。
推論2:將每個事務及事務中的項目集按照字典順序排序。對于兩個(k-1)頻繁項目集Ix和Iy,如果Ix和Iy不能連接,則Ix和Iy之后的所有項目集都不需要進行連接判斷。
1.2 具體算法流程
基于壓縮矩陣Apriori算法的具體流程如下[8]:
(1) 掃描事物數據庫,建立二維布爾矩陣。矩陣的每一行為一個事務,列則為事務的項集。對相同的事務進行計數,計數的結果即為矩陣每一行的權值。并建立AE數組進行存放。這樣對事務數據進行了壓縮,確保矩陣中無重復行。
(2) 建立數組m,記錄每行1的個數,建立數組n,統計每列1的個數。
(3) 壓縮矩陣:
、 掃描矩陣,若一個項集不能與它相鄰的項集進行連接運算,則刪除該項集對應的列向量,并對數組m的值進行相應的修改;
、 掃描數組m,若其值小于等于1,則刪除該行向量,對數組n的值進行相應的修改;
、 掃描數組n,若其值小于最小支持度計數,則刪除該列向量,對數組m的值進行相應的修改。重復步驟②、步驟③,直到矩陣無變化為止。剩下的行和列生成新的矩陣。
(4) 生成頻繁項集:清空數組m和n,對可連接的項集對應的行按位進行與運算,并與AE數組中對應權值相乘,其加權和為項集的支持度計數,若其值大于等于最小支持度計數,則保存該列向量,并將該向量按位累加到數組n中,對應支持度計數存入m數組中,否則舍去。此時,保存下來的列向量所對應的項集為所求的頻繁項集。
(5) 根據推論1,可知頻繁(k-1)項集個數,即矩陣的列數小于k時,可不用再求k頻繁項集,則算法終止。
2 數據預處理
數據預處理包括數據清理和數據離散化兩個步驟。
實際的考試成績往往有期末考試成績和補考成績,在考試時少數學生會有缺考、緩考等現象。因此,在分析成績數據前必須先對數據庫中的成績進行清理。本文將成績數據讀入二維矩陣后,只對正常考試的成績進行分析,對補考成績及有缺考、緩考等現象導致成績缺少的學生成績予以清除。
由于基于矩陣的Apriori算法采用的是布爾矩陣,因此,在數據清理完成后,需將原始成績數據離散成布爾型的數據。學生的成績通常有百分制和五級制兩種表示方式。對五級制記分的成績數據,可將“優(yōu)秀”和“良好”兩個等級的成績統一離散化為“1”(對一些難度較小的課程,可以只將“優(yōu)秀”等級的成績離散化為“1”),其余成績離散化為0;而對百分制成績,將80分以上的成績離散化為“1”,其余為“0”。
本文實驗原始數據采用作者所在院校通信專業(yè)某班級一個學期的期末考試成績。該班級共有52人,本學期共計6門考試科目。掃描數據庫、將數據讀入二維矩陣,清除缺考、緩考的2名學生成績后,最終有效成績數據50份。部分成績數據如表1所示。成績數據離散化后,每個學生的成績即為一個事務(TID),可分別用 T1,T2,…,Tn表示,而全體考試科目則為一個項目集。為了簡單起見,將不同的科目用項目ID表示,最終6個考試科目形成項目集 [I1,I2,I3,I4,I5,I6]。最終離散化的結果如表2所示。
表1 部分學生成績樣本
表2 原始成績離散后的結果
表2中I1~I6分別對應高頻電子線路、電子設計自動化、數據通信網絡及其設備配通信原理與信號傳輸、網站建設與網絡管理和專業(yè)英語6門考試科目)
3 關聯規(guī)則挖掘及數據分析
3.1 關聯規(guī)則挖掘
原始數據離散化后,根據基于壓縮矩陣Apriori算法的步驟,關聯規(guī)則挖掘的步驟如下:
(1) 首先,對相同的事務進行合并,建立數組AE,存放每個事務的權值(即相同事務的個數)。合并后的矩陣如表3所示。
表3 合并相同事務后的壓縮矩陣
注:AE數組存放每個事務的權值,m數組存放每個項為1的個數。
設最小支持度min_support=30%,則最小支持度計數為:[50×30%=15]。由表3可知,I3(即數據通信網絡及其設備配置課程)的個數小于最小支持度計數,應予以刪除。將其他5個項重新進行統計,得到的結果如表4所示(統計后共有20個事務,由于篇幅關系,這里表4未列完整)?梢钥闯觯鄬τ谠季仃,壓縮后的矩陣規(guī)模已經明顯減小。
(2) 對表4各列按位采用“與”運算,生成頻繁二項集。同樣,若生成的頻繁二項集中項取值為1的加權和大于最小支持度計數,則保留該項,否則應予以清除。例如,對I1和I2進行“與”運算:I1^I2=1^1×7+1^0×1+…+1^1×1=22,大于最小支持度計數,該項保留,而對I5和I6進行“與”運算:I5^I6=1^1×7+1^0×1+…+0^0×1=12,小于最小支持度計數,則清除該項。建立數組n,存放每個項取值為1的事務個數,建立數組 m,存放每個事務中項為1的個數。最后得到的頻繁二項集矩陣如表5所示(由于篇幅關系,這里表5未列完整)。 表4 刪除I3后的壓縮矩陣
表5 頻繁二項集矩陣
對頻繁二項集矩陣繼續(xù)進行壓縮,刪除不能與相鄰項集連接的項集對應的列向量。刪除I1^ I2所在的行,對數組m的值進行修改。掃描數組m,刪除值小于等于1的行向量,刪除T2,T5~T12,T18~T20所對應的列向量。壓縮后的矩陣如表6所示。
表6 壓縮后的頻繁二項集矩陣
(3) 繼續(xù)生成頻繁三項集,按照步驟2的方法,進一步進行連接和壓縮,得到的結果如表7所示。由表7繼續(xù)連接生成頻繁四項集的個數為13(如表8所示),小于最小支持度計數15,故舍去該連接項,算法結束。
由上述步驟可以看出,該算法在有效地提取關聯規(guī)則的同時,只需要掃描一次數據庫,并且通過與運算來生成頻繁集,省去了Apriori算法的連接和剪枝步驟,并通過矩陣的壓縮提高了求高次頻繁集的時間,提高了計算效率。
3.2 關聯規(guī)則結果分析
根據表7、表8的頻繁項集,設最小支持度為30%,最小置信度為50%,最終可以推導出相應的關聯規(guī)則,現選取部分關聯規(guī)則如表9所示。由表9的規(guī)則1,規(guī)則2可以看出,高頻電子線路課程學得好的學生電子設計自動化課程也同樣學得好,這說明兩門課程相關性較大,具有相互促進的關系。而從規(guī)則3,規(guī)則4可以看出,高頻電子線路課程學得好的學生通信原理與信號傳輸課程同樣學得好的置信度只有46.88%,低于最小置信度,該規(guī)則無效;但反過來通信原理與信號傳輸課程學得好的學生高頻電子線路課程學得好的置信度為88.24%,置信度較高,這說明通信原理與信號傳輸課程的學習有助于對高頻電子線路課程的學習。
表7 生成的頻繁三項集矩陣
表8 壓縮后的頻繁三項集矩陣
實際上,高頻電子線路課程的一些原理在通信原理與信號傳輸課程上會繼續(xù)深入講解,因此后一門課程可以反過來幫助學生理解前一門課程的相關內容。而從規(guī)則7,規(guī)則8來看,同時學好高頻電子線路,電子設計自動化課程的學生通信原理與信號傳輸、網站建設與網絡管理課程學習成績好的置信度高于最小置信度,這說明同時學好這兩門課程對后續(xù)課程的學習也有促進作用。電子電路方面的課程是學習通信的基礎,這也說明了要想學好專業(yè)課程,專業(yè)基礎課的學習是很重要的。
表9 部分關聯規(guī)則
同時,在提取關聯規(guī)則時,專業(yè)英語和其他課程無關聯規(guī)則,這說明對理工科學生來說,英語和專業(yè)課程間的相互關聯作用并不明顯。數據通信網絡及其設備配置課程的支持度低于最小支持度,這說明這門課程總體成績偏低,對該班級學生而言難度偏大,這需要從平時的教學及試卷命題等方面進一步尋找原因。通過上述分析可以看出該班級本學期學習的總體情況,及各學科之間的相互關系。這可以為教學管理人員在制定教學計劃及評價教學質量時提供依據,也可以給教師平時授課提供參考,例如,在講授高頻電子線路課程的相關內容時,可以考慮學生對通信原理及信號傳輸課程的學習情況,對個別需要在通信原理及信號傳輸課程中深入學習的內容可在課堂上給學生相應的提示,以便于學生更好地掌握相關內容。
4 結 語
針對高校成績數據庫的特點,將基于壓縮矩陣的Apriori算法應用到學生成績相關性分析中。該算法只需掃描一次數據庫,省去了Apriori算法的連接和剪枝步驟,并通過矩陣壓縮提高了算法的執(zhí)行效率。同時通過對期末成績關聯規(guī)則的挖掘,可以分析各學科之間的相關性,為學生選課、教師教學以及教學管理人員進行教學管理提供參考。
參考文獻
[1] 鄧雅瓊.數據倉庫和數據挖掘技術在高校統考課程成績分析中的應用[D].桂林:廣西師范大學,2011.
[2] 付沙,周航軍.關聯規(guī)則挖掘Apriori算法的研究與改進[J].微電子學與計算機,2013(9):111?114.
[3] 孫逢嘯,倪世宏,謝川.一種基于矩陣的Apriori改進算法[J].計算機仿真,2013(8):245?249.