田偉
(蘭州商學院隴橋學院,甘肅 蘭州 730000)
Apriori算法在學生成績數據中的應用研究
田偉
(蘭州商學院隴橋學院,甘肅 蘭州 730000)
在高校的數據管理中,有很大一塊是對學生成績的管理,具體的處理就是:成績的錄入,成績的查詢,修改等就數據本身的一些操作,而成績只是作為升留級,評優的參考依據,而就及占用的資源而言,利用率不是很高,造成了極大浪費.隨著科學技術的不斷進步,如何使成績發揮它的最大效用,成為了當前高校重點考慮的問題.本文將利用Apriori算法,借助學生成績數據庫,挖掘出課程之間存在的相關關系,為相關部門合理、科學的安排課程提供理論依據.
Apriori算法;最小支持度;最小置信度
隨著高校的不斷擴招,學生人數增長迅速,對于學生而言,課程結束后的考試必不可少,作為各高校評價學生學習情況,及評優的重要衡量指標,經過長期的積累,每個高校都存儲了大量的學生成績信息,但對成績的使用還只停留在查詢和簡單統計階段,例如成績錄入、修改、刪除,求和,計算平均成績等操作,除此之外,再沒有其他深層次的應用.然而,實際上成績在某些方面,還能夠反映出課程設置的合理性,通過對學生成績的分析,我們可以看出課程的安排順序對學生的成績會產生一定的影響,從而說明了用成績來判定課程設置的合理性是有科學根據的.
在本文中,我們從全院在校學生成績數據庫中,選取了我系10級信息管理與信息系統專業學生的《計算機網絡》、《外語》、《高數》、《計算機基礎》、《操作系統》等8門課程作為源數據進行分析,分析過程使用Apriori算法,利用此算法挖掘出每門課程對其他課程的影響程度,從而為排課的相關人員提供參考依據,也為學生今后的選課提供一定的指導.
通過對學生成績的分析,可以揭示“教”與“學”這間的關系,從而判斷出高校教學計劃的制定是否存在問題,對教師的“教”和學生的“學”,以及相關部門的計劃制定起到指導作用.
2.1 數據清理
原始數據是從我院的教務系統中得到,其中包含了全校各個專業、各個年級、各門課程的全部成績,因為涉及的數據量巨大,所以存在部分錯誤,還有某些數據從本身的從教經驗上看不可能存在關系,因此為了便于通過模型進行分析,在本文中,只選取了我系10級信息管理與信息系統專業學生的《計算機基礎》等8門課程成績作為對象,為方便后續工作的開展,剔除了空白以及數據缺失的記錄.清理完畢的數據如表1所示.

表1 數據清理后的學生成績
2.2 數據集成
所謂數據集成是將多個數據源合并到一致的數據存儲中,方便進行統一的分析,依據以往經驗思政類和體育類課程對我院本系課程的計劃制定影響不大,所以剔除.通過分析整理,最終將所有數據集成到一個Excel中,最終數據包含488條56名學生的共八門課程的數成績.
2.3 數據轉換
將數據轉化成適合于進行挖掘的形式,例如將屬性數據按比例縮放,使其落入一個比較小的區間內.由于存放在學生成績數據庫中的數據都是以數值形式表示的,因此會對數據挖掘造成不必要的麻煩,為了解決這一問題,要對現有學生成績進行離散化處理,也就是把數值型的成績轉換為優、良、中、差、不及格這五個級別.60分以下為“不及格”,60~70分之間的為“差”,70~80分之間的為“中”,80~90分之間的為“良”,90分以上為“優”.用“1、2、3、4、5”這五個數字,分別對應表示“優、良、中、差、不及格”這5個等級,另外用“A”表示計算機基礎,“B”表示外語,“C”表示高數,“D”表示計算機網絡,以此類推.并將各科目字段設置為字符型,運用Apriori算法對表1中的數據進行關聯規則的挖掘,轉換后的數據表部分數據如表2所示.

表2 預處理后的數據
3.1 基本原理
Apriroi算法是一種基于兩個階段頻繁項集的數據挖掘方法,在此算法中,尋找最大項目集需要對數據集進行多步處理.首先,簡單統計所有含一個元素項目集出現的頻率,并找出那些不小于最小支持度的項目集,即一維最大項目集.其次,使用第一步找到的頻繁項集產生期望的規則.首先產生頻繁1-項集L1,然后是頻繁2-項集L2,直到有某個r值使得Lr為空,算法停止.這里在第k次循環中,過程先產生侯選k-項集的集合Ck,Ck中的每一個項集是對兩個只有一個項不同的屬于Lk-1的頻繁集做一個(k-2)連接來產生的.Ck中的項集是用來產生頻繁集的候選集,最后的頻繁集Lk必須是Ck的一個子集.如果Ck中某個候選集有一個(k-1)子集不屬于Lk-1,則這個項集可以被修剪掉不予考慮.然后根據可信度的定義規則,產生關聯規則.
①對于每個頻繁項集L,產生L的所有非空子集;
②對于L的每個非空子集S,如果s-count(L)
s-count(s)≥Cmin
則輸出規則“s→L-s”.
3.2 Apriori算法應用
在該程序中運用了Apriori算法模型進行分析.為了得到更有效的數據,進行了反復的驗證.設最小支持度為30%,設最小置信度為60%,部分規則如下表3所示.

表3 挖掘結果
當然,表3中的挖掘關聯規則并非每一條都具有現實意義,我們還要進一步進行處理,將這些關聯規則模型導出進行分析.結果如下:
4.1 從上面的挖掘結果可以看出,有些課程之間的關系與我們實際的教學經驗是一致的.如《數據結構》這門課程的成績在80~90分之間,《高級語言程序設計》課程成績也在80~90分之間的支持度為64.8%,置信度為85.2%,通過此規則我們可以知道《數據結構》這門課程學習的好壞,直接影響到《高級語言課程》這門課程的學習,因此安排課程時應該將《數據結構》安排在前先上,教師在授課過程中一定嚴格要求學生,使其認真學習這門課程,為今后其他課程的學習打好基礎.
4.2 公共基礎課程《計算機基礎》和《外語》這兩門課程,對于學好計算機專業課也起到了很大的作用,同時可以看到對于我系學生而言《計算機基礎》成績和《外語》成績相對偏低,需要引起高度重視.
4.3 《計算機基礎》成績在70~80分之間,《高數》成績在80~90分之間的支持度為55.8%,置信度為87.2%,可信度和置信度雖然都達到了要求,但根據實際經驗,兩者并無直接關聯,實際工作中可以不予考慮.其他規則同樣如此,需要相關部門根據實際情況進行具體地研究,有分析地借鑒參考.
在本文中,我們利用關聯規則中的Apriori算法,對信息管理與信息系統專業的學生成績進行了挖掘,找出了隱藏在學生成績背后的規律,可以對偏離正常軌道的學生,及時進行干預,從而幫助學生順利完成學業,還可以對課程的管理者的決策提供參考,也為關聯規則在其它學科的應用提供了思路.
〔1〕王海容.數據挖掘在學生成績分析的應用[J].電子設計工程,2013,21(4):4-56.
〔2〕邵峰晶,于忠清.數據挖掘原理與算法[M].北京:水利水電出版杜,2003.
〔3〕史忠植.知識發現[M].北京:清華大學出版社,2002.
〔4〕崔學文.關聯規則挖掘算法Apriori在學生成績分析中的應用[J].河北北方學院學報(自然科學版),2011(1):44-47.
〔5〕李金忠.關聯規則Apriori算法[J].電腦編程技巧與維護,2008(6):35~37.
〔6〕常朝穩,代永衛,等.關聯規則在公安情報信息系統中的應用[J].計算機工程與應用,2008,44(5):75~78.
〔7〕趙輝.數據挖掘技術在學生成績分析中的研究及應用[D].大連:大連海事大學,2007.
〔8〕陸楠.關聯規則的挖掘及其算法的研究[D].長春:吉林大學,2007.
TP311.13
A
1673-260X(2014)09-0012-02