李春秋,何 軍
安徽商貿職業(yè)技術學院電子信息工程系,安徽蕪湖,241002
大多數同學經過高中三年的辛苦學習,成功進入高等學府,可以進一步深造學習,但是很多人進入高等學府后不能轉變自己的角色,無論是心理上還是學習上都很難適應大學的環(huán)境。在大學里,老師的管教不再嚴厲,部分同學開始放松學習,想當然地認為只要考試最后一個月努力一下就能取得很好的成績,這種想法是完全不可取的。大學課程難度會逐漸加大,而且課程與課程之間的聯系越來越多,如果前期課程沒有學好,那么后期課程的學習將會更加困難。因此,不管是從事教學管理部門的人員,還是輔導員以及學生本人都應該清楚了解各門課程之間的聯系,以及它們的緊密程度。而且行政管理部門和輔導員可以根據課程之間的聯系建立預警機制,從而提前警告學生,使之能更好地適應大學學習生活,提高學生畢業(yè)后的競爭力。
進入21世紀后,計算機技術得到迅猛發(fā)展,同時,網絡技術也得到迅速普及,信息技術在各行各業(yè)中都得到廣泛應用。因而出現大量的數據資料,這些資料存儲方式也各不相同,為了方便使用這些數據資料,各行各業(yè)都建立了相應的數據庫。各種各樣有價值的數據信息經常隱藏在這些數據庫的數據中,如何從數據倉庫中得到有使用價值的信息,成為目前急需解決的問題。為了滿足這種業(yè)務需求,數據分析人員開發(fā)了一種新的數據處理技術,即數據挖掘技術。
數據挖掘(Data Mining)是指從大量數據中或者數據庫中探尋、發(fā)現有實際意義的、有潛在價值的、有趣的以及事先未知的知識的過程。
關聯規(guī)則是指從大量的數據中或者對象之間提取其相互之間的有趣的關聯或聯系,從而揭示數據之間的依賴關系,從某一個或一些數據現象推斷另外一些數據對象的信息,關聯規(guī)則挖掘可以通過支持度、可信度和興趣度定量地描述這種關聯關系如何聯系以及聯系程度。
關聯規(guī)則模型定義如下:首先假設一個項的集合I。給定一個交易數據庫,設事務t(Transaction)是I中的一個非空子集,也就是說,I中間的每一個交易都與一個標識符TID(Transaction ID)相對應,且標識符TID是唯一的。關聯規(guī)則在D中的支持度(support)是D中事務同時包含X∪Y的比例,通常用概率P(X∪Y)表示;置信度(confidence)是D中包含X的事務,同時也包含Y事務的百分比,通常用條件概率P(X|Y)表示。一般情況下,如果某條關聯規(guī)則同時滿足最小支持度和最小置信度,則這條關聯規(guī)則是有利用價值的、有趣的。
關聯規(guī)則的準確性依靠置信度來測量,重要性依靠支持度來衡量。支持度的大小代表這條規(guī)則在所有事務中有多大的重要性,支持度越小,關聯規(guī)則重要性越??;支持度越大,關聯規(guī)則重要性越大。如果關聯規(guī)則置信度很高,但支持度很低,那么這條關聯規(guī)則的實用也會很小,因而也不會很重要。
Apriori算法是一個發(fā)現關聯規(guī)則的經典算法。它使用頻繁項集性質的先驗知識[1],通常采用兩個步驟來尋找關聯規(guī)則,第一步:迭代,尋找事務數據庫中的所有頻繁項集,也就是尋找支持度高于設定的閾值min_sup的項集;第二步:根據頻繁項集尋找滿足用戶min_conf的規(guī)則 。具體做法是:先找到頻繁1-項集,記作L1, 然后利用L1產生候選2項集的集合,記作C2,對C2中的項進行分析判定,挖掘出滿足條件的頻繁2-項集,記作L2;如此下去,直到不能發(fā)現頻繁k-項集為止。發(fā)現每一個Lk都需要掃描一遍事務數據庫。然后在所有頻繁項集中找到滿足min_sup和min_conf的規(guī)則,即對用戶有利用價值的有興趣的關聯規(guī)則。
Apriori算法具有這樣一條性質:任一頻繁項集的所有非空子集也必須是頻繁的[1]。因為假如P(I)小于最小支持度閾值,那么,形如(M∩I)的項集出現的次數不可能比I更頻繁地出現。所以M∩I也一定不是頻繁的。Apriori的性質通過減少搜索空間來提高頻繁項集產生的效率。
Apriori算法偽代碼如下:
輸入:D:事務數據庫;min_sup:最小支持度計數閾值
輸出:L:D中的頻繁項集
L1=find_frequent_1-itemsets(D); //找出全部頻繁1項集
For(k=2;Lk-1!=?;k++){
Ck=apriori_gen(Lk-1); //產生候選,并剪枝
For each t∈D{ //掃描D用于候選計數
Ct=subset(Ck,t); //得到t的子集
For each c∈Ct
c.count++;
}
Lk={c∈Ck|c.count>=min_sup}
}
Return L=∪KLk;
Procedure apriori_gen(Lk-1:frequent(k-1)-itemsets)
For each l1∈Lk-1
For each l2∈Lk-1
If((l1[1]=l2[1])(l1[2]=l2[2])^……
^(l1[k-2]=l2[k-2])^(l1[k-1] c=l1?l2//連接步:產生候選 if has_infrequent_subset(c,Lk-1) then delete c;//剪枝步:刪除非頻繁候選 else add c to Ck; } Return Ck; Procedure has_infrequent_sub(c:candidate k-itemset; Lk-1:frequent(k-1)-itemsets) // 使用先驗知識 For each(k-1)-subset s of c If s?Lk-1then Return true; Else Return false; 根據算法生成相應的關聯規(guī)則,然后給出一個Minconfidence,最后在所有的最大頻繁項目集中,尋找Confidence不小于Minconfidence的關聯規(guī)則[2]。 近年來,隨著高校管理制度規(guī)范化,學生成績管理實行學分制,經常會有部分同學因考試不及格而導致學分不夠而留級,甚至退學。通過調查發(fā)現,很多同學出現這種狀況的原因都是由于前期課程沒有認真學習,導致后期課程很難學習。為此,可以根據成績預警機制,提醒教學管理部門在這種情況出現之前,預先對學生提出警告,并聯合輔導員加強對此類學生的教育工作,盡量避免類似情況出現,從而提高學校的教學質量和學生的學業(yè)成績。 圖1 學生成績預警模型圖 圖1為成績預警模型圖。成績預警模型的作用就是通過對現有數據庫中成績的分析,挖掘出各門課程之間的關聯規(guī)則以及各門課程之間的聯系的緊密程度,從而發(fā)現具體哪些課程與后續(xù)課程聯系緊密,當這些課程學習很好時,后續(xù)課程的學習將會變得很容易;反之,后續(xù)課程的學習將會很困難;當學生考試結束后,學生成績錄入成績管理系統(tǒng)后,可以根據成績預警模型中的關聯規(guī)則判斷哪些學生需要注意學習前續(xù)課程以及判斷該學生的后續(xù)課程學習發(fā)展情況,從而對該學生做相應的預警信息,并提醒輔導員注意對該生的學習指導以及幫其指明學習方向。 2.2.1 數據預處理 本文根據安徽商貿職業(yè)技術學院教務處提供的成績,隨機抽取該校某一個班級在大學期間的成績,公共課以及選修課成績除外。首先對數據源進行預處理,將源數據導入數據庫中,使用選擇連接將源數據轉化為規(guī)范化的數據形式,并將轉化后的數據存儲在事務數據庫中[3]。由于成績數據源中的成績基本采用“五級制”和“百分制”。為了便于分析,筆者將學生課程成績按照如下規(guī)則轉化成相對應的字符,學生成績按照規(guī)則設置:等級制成績“不及格”以及百分制成績“小于60”的設置為“1”,等級制成績“及格”以及百分制成績在“60~69”之間的數據設置為“2”,百分制成績在“70~84”之間的數據以及等級制成績?yōu)椤傲己谩被蛘摺爸械取钡臄祿O置為“3”,成績大于85分的數據以及“優(yōu)秀”的數據設置為“4”,將成績轉化為所需要的事務數據庫的形式。表1為學生原始成績示意圖,表2為學生成績第一次預處理后的成績示意圖,表3為學生成績第二次預處理后的成績示意圖。 表1 學生原始成績示意圖 表2 學生成績第一次預處理后的成績示意圖 2.2.2 關聯規(guī)則挖掘 表3 學生成績第二次預處理后的成績示意圖 處理和分析數據的最終目的是發(fā)現學生課程之間的聯系,以及這些課程聯系的緊密程度如何。然后尋找這些課程之間的關聯,以發(fā)現對學生學習的影響較大的前續(xù)課程。本文對安徽商貿職業(yè)技術學院2009級某班學生三年的全部課程(公選課除外)進行分析,設置最小支持度為0.3,最小置信度為0.3。挖掘結果如下: 頻繁項集 主持數 支持度 [A,D,K] 11 42.15% [D,B,F] 9 38.32% [G,M] 8 35.12% …… …… …… 關聯規(guī)則 置信度 A,D=>K 0.4154 D,B=>F 0.3813 G=>M 0.3659 …… …… 根據上述分析可知,A、D課程與K課程之間關系緊密,如果同學能夠把課程A、課程D學好,那么課程K的學習也就非常容易了;同理,同學如果不能很好地掌握課程D、課程B的知識,那么課程F將很難學好。將上述關聯規(guī)則用于學生所在班級進行驗證,和上述規(guī)則非常吻合。 2.2.3 解決方法 通過上述分析,發(fā)現大學中每門課程之間都存在或多或少的聯系,特別是一些專業(yè)基礎課程與專業(yè)課之間聯系緊密,一旦專業(yè)基礎課程學習不好,將會直接影響專業(yè)課的學習。為此,可以通過成績預警模型,利用數據挖掘關聯規(guī)則算法挖掘得到的關聯規(guī)則作為學生成績預警因子[4],去發(fā)現、尋找滿足此關聯規(guī)則的學生,然后制定相應的策略,針對學生的實際情況,輔導員應積極與學生交流,鼓勵學生認真學習,通過視頻自學或者在低一級的班級旁聽,從而為專業(yè)課后期課程學習打下基礎,以此來提高成績。 信息量爆炸式增長,使得高校學生成績數據庫中的數據急劇增多。堆積如山的數據集合,傳統(tǒng)的分析手段只能獲得這些數據的表層信息[5],這就必須借助數據挖掘技術挖掘隱藏在數據中的規(guī)律,為決策者提供依據和支持;同時,也為教學改革提供理論依據[6]。本文利用數據挖掘技術發(fā)現各門課程之間的聯系程度,從而建立成績預警模型,為學生更好地學習提供參考依據,為教務管理部門以及輔導員管理工作提供科學依據和理論支持,從而達到提高學生成績的目的。 參考文獻: [1]范明,孟小峰.數據挖掘概念與技術[M].北京:機械工業(yè)出版社,2007:146-155 [2]武麗芬,孟強.學生成績數據挖掘的研究與實現[J].太原師范學院學報:自然科學版,2011,10(1):81-83 [3]姜晚云,胡學鋼.挖掘在學生成績管理中的應用[J].安慶師范學院學報:自然科學版,2006,12(4):20-21,46 [4]李浩,周振華.基于數據挖掘的高校學生成績預警系統(tǒng)[J].大慶石油學院學報,2011,35(4):91-95 [5]李琳,徐雨明,孫士兵.數據挖掘在教學質量分析中的應用研究[J].衡陽師范學院學報,2009,30(3):86-88 [6]劉鋒,嚴的兵.數據挖掘在學生成績分析中的應用[J].電腦知識與技術,2011,7(7):1689-16902 關聯規(guī)則在學生成績中的應用
2.1 成績預警模型的建立與描述
2.2 模型的求解
3 結束語