都娟 翟社平


摘 要:高校學生成績預警系統是高校教務系統的重要構成部分,研究高校學生成績預警問題在理論層面和實踐層面均具有重要價值。一般而言,成績預警涉及多種技術,而關聯算法是最為核心的技術之一。作為關聯算法中應用最為廣泛的Apriori算法本身具備一定的缺陷性,本文將在闡述Apriori算法的基本特點及其缺陷的基礎上,提出改進的Apriori算法,利用改進的Apriori算法對學生成績進行挖掘分析,發現不同學科之間的關聯關系,并給老師及管理決策者提供指導,幫助老師及時調整課程內容,對可能出現不及格的部分學生提出警告,督促他們學習,提高教學質量。
關鍵詞:數據挖掘;關聯規則;Apriori算法;學生成績
中圖分類號:TP311.13 文獻標識碼:A 文章編號:2096-4706(2018)02-0108-03
Research on Early Warning System of College Student Achievement Based on Improved Apriori Algorithm
DU Juan,ZHAI Sheping
(Xi'an University of Post and Telecommunications,School of Computer Science&Technology,Xi'an 710121,China)
Abstract:The early warning system of college students achievement is an important part of the college teaching system,it has a great value to study the problem of early warning of college students'achievement,both in theory and practice. In general,early warning of achievement involves a variety of technologies. The association algorithm is one of the most important contents. As the most widely used Apriori algorithm,the Apriori algorithm has certain defects. In this paper,on the basis of expounding the basic characteristics and defects of the Apriori algorithm,we will put forward an improved Apriori algorithm,and use the improved Acriori algorithm to mine students 'achievements,find out the relationship between different disciplines,and provide guidance to teachers and management decision makers,help teachers adjust the content of the curriculum in time,warn some students who may fail,urge them to study and improve the quality of teaching.
Keywords:data mining;association rules;apriori algorithm;student performance
0 引 言
危機預警通常無法科學地計算和評估,其一直被視為極具社會價值,極具教育理論與實踐的研究價值的課題。數據挖掘技術的提出及其在危機管理和危機預警領域的運用,提供了強有力的支持,使得危機預警的分析過程更為順暢、預測結果更加準確。關聯規則的挖掘是數據挖掘的重要內容之一,其展現的是數據間的關聯關系,且表達簡潔,利于理解,它主要是從事務數據庫或關系數據庫中發現同時滿足最小支持度和置信度的項目集或者屬性之間的關聯關系、相關關系。Apriori算法是一種使用逐層搜索迭代的布爾型關聯規則挖掘頻繁項集的算法。本文介紹了數據挖掘技術中較為經典的Apriori算法及其存在的主要缺陷,提出了改進的Apriori算法并利用改進的Apriori算法分析高校學生成績之間的關聯關系。
1 Apriori算法及其不足
Apriori算法一直被視為是應用最為廣泛的關聯規則挖掘算法。一般而言,我們在理解Apriori算法時,認為Apriori算法的主要思想是運用數理統計中的概率知識對數據布爾型關聯規則進行一定程度的挖掘。在利用Apriori算法繼續計算時,首先分層原始結構數據,而后利用同樣的方法來對各層的數據進行處理。一般而言,在運用Apriori算法時,需要遵循兩個步驟:第一步,挖掘過程,即從數據庫中挖掘全部的頻繁項集;第二步,則是以第一步挖掘到的頻繁項集為基礎,最終獲得滿足條件的關聯規則。Apriori算法作為一種經典的布爾型關聯規則算法,過程相對復雜,需要多次逐層在數據庫中進行搜查,并借助頻繁項集的先驗知識對其中的頻繁集進行多次迭代,直到不存在頻繁集為止。
但是,這種算法依然存在一定的缺陷。其缺陷集中體現在幾個方面:一是增加算法的計算復雜度。一般而言,Apriori算法主要受到四個方面因素的影響,即支持度閾值、事務數、項數以及事務平均寬度。在Apriori算法中,支持度閾值的降低,會在一定程度上導致頻繁項集的增加,勢必會增加計算的難度和復雜性。原因在于當頻繁項集增多時,對其計數的候選項集會隨之增多,頻繁項集最大長度相應增加,造成算法需要進行的掃描的次數也隨之增加。二是,事務數。當在利用Apriori算法對項集的支持度進行計算時,需要對數據集進行反復的掃描。這種情況下,事務數隨之增加,對應的需要運行的時間也會增長。三是,候選剪枝方法增加計算量。此外,Apriori算法的不足還體現在增加計算量和I/O開銷等方面。
2 改進的Apriori算法
網絡環境下,先進的現代信息技術和網絡技術的運用不斷地推進著高校信息化建設的進程,為高校教務系統的管理和運行提供了良好的技術保障。與此同時,伴隨著高校信息化建設進程的推進,高校教務系統中產生的數據也在快速地增加。在教務系統的實際運用中,用戶只具備基本的操作權限,且系統中的各類數據的存在價值與關聯關系無法得到有效的挖掘。在分析系統中數據的關聯性、挖掘其價值時,傳統的Apriori算法本身存在一定的缺陷。因此,有必要對Apriori算法予以改進。將學生所學課程進行分類,形成多個子數據庫,各子數據庫中包含其下屬分類涵蓋的課程的成績。在挖掘各個子數據庫的頻繁項集時,主要采用的是垂直數據格式。在分別進行關聯規則的挖掘的基礎上,整合所獲得的規則結果。改進的Apriori算法描述如下:
一是通過預處理對數據庫進行壓縮。學生成績系統中包含著海量的學生成績數據,通過對其成績數據庫進行預處理,將其壓縮為成績事務數據庫。
二是將學生所修課程根據課程內容的差別進行分類,劃分為三大子數據庫。各子數據庫分別包含了對應類別所有課程的課程成績。
三是在第二步分類的基礎上,有針對性地生成對應的三組頻繁項目集。(1)首先,對數據庫進行一次掃描,打亂后重新建立,將事務項目數據庫調整后建立為項目事務數據庫。對項目數據進行充分統計,做到不遺漏,對于某些未達到最小支持度的項集應當刪除。(2)用Apriori算法中的連接功能,算得項目事務數據庫中項的交集,再將新的數據重建為新的數據庫,最后得出N-項頻繁項集。
四是充分整合所有子數據庫中的頻繁項集,獲取其對應的每個關聯規則的置信度,根據最小置信度閾值得到全部的強關聯規則,形成一個全局的候選頻繁項目集,最后在系統中將這些數據進行更新。
3 改進的Apriori算法在學生成績預警中的應用
3.1 基于關聯規則挖掘的學生成績預警模型
利用優化后的關聯規則來對學生的各科成績數據進行整合,尋找其關聯關系,為教師和教學管者提供科學的參考意見。首先,如果某一科目的成績大多數學生獲得的分數較低,教師可以改善教學方法或者教學內容,達到提高學生成績的目的;其次,如果一些學生的成績不理想,教師應當參考成績數據尋找原因,對學生進行指導和警示;最后,利用成績數據來建立成績預警模型,如圖1所示。
3.2 數據清理與轉換
原始數據中包含了不同的專業、年級、課程等大量成績數據,這些數據在記錄中難免會存在一些錯誤,如有些課程之間本來就沒有關聯度,所以要尋找方法將這部分冗余數據挖掘出來并將其刪除。例如,統計和記錄計算機專業學生的高等數學、C語言等9門課程的成績,將其作為挖掘對象。對所有分數進行離散化處理,將成績分別歸類為不及格、及格、良好、優秀這4個等級。
3.3 規則分析
在Matlab2014a環境下,分別運用優化前的Apriori算法和優化后的Apriori算法對預處理的成績數據進行挖掘,采用不同的支持度和置信度,挖掘出不同的關聯規則。在本文中,挑選了部分挖掘出的關聯規則,如表1所示,現將這些規則進行分析。
根據表中列出的關聯規則可知,從規則1、5可以看到,當高數及格時,C語言、C++處在及格線附近或者不及格的位置。
從規則2、6、7中可以看到,數學類課程的成績與語言類和專業課的成績有一定關聯性,這是由于數學類課程是基礎課程,該課程可以提高學生的邏輯思維能力,語言類編程課程的學習通常是基于邏輯思維來學習的,所以當數學類的課程成績較差時,后續的語言類課程也會學不好或者出現不及格的現象。
從規則3中可以看到,當C語言成績及格時,很有可能出現數據庫原理不及格的現象。所以,老師應對處在及格線邊緣的同學,及時提出警示并對其進行指導幫助。
從規則7、8中可以看到,當數學類課程處于不及格邊緣時,專業課成績很有可能也會不及格。此時,教師可以采取一定措施調整學生對各科目的學習力度,提高學生弱勢學科成績。
從規則2、4中可以看出,當基礎課程如高數、Java等成績較好時,后續的專業課程成績如Matlab很有可能是優秀。
從以上對關聯規則的分析可知,學校應根據實際情況對學生因材施教,提高學生基礎課程的成績,并對不同課程設置不同的學習難度,做到合理教學,有針對性地加強學生薄弱課程的學習,提高教學的整體效果。
3.4 性能分析
本文提出的基于改進Apriori算法的學生成績預警模型,由于其在尋找頻繁項集時只需掃描一次數據庫,每生成一次頻繁項集,對應就減少一部分數據庫,最終節省了內存空間,提高了算法效率。當最小支持度較高時,相應的候選集也會減少,這樣就節約了掃描數據庫的時間,所以傳統算法與改進后的算法兩者的時間開銷差別也縮??;當最小支持度較低時,利用傳統的算法在尋找時會生成很多冗余的候選項集,損耗了多余的時間,導致兩種算法的時間開銷差別變大。
4 結 論
本文中,研究的立足點在于高校學生所修各門課程之間存在前后順序關系,課程之間存在著內在的聯系,且其中一門課程掌握的具體程度可能會對其他課程的學習產生一定影響。本文提出運用關聯原則中的一些技術來對成績系統中的大量數據進行一定程度的挖掘,并從數據當中獲得可用規則,立足Apriori算法的特點及不足,提出了改進的Apriori算法,對高校學生成績預警系統中的數據進行處理、挖掘,最終獲得管理原則,形成對課程學習的有效預警。針對不同情況的學生應給予不同的指導,對可能出現不及格情況的學生應當及時做出預警,深入研究造成學生某學科不及格的主要原因,并積極利用成績預警系統中反饋的信息輔助教師對教學活動、教學內容以及教學計劃進行安排,確保可以及時給予對應的學生以針對性的輔導,促進學生學習成績的提升,實現高校培育優秀人才的最終目標。
參考文獻:
[1] 王華,劉萍.改進的關聯規則算法在學生成績預警中的應用 [J].計算機工程與設計,2015,36(3):679-682+752.
[2] 白金,劉琳婧,周江輝.學生成績的動態預警模型 [J].科教導刊(上旬刊),2015(2):150-152.
[3] 李昊,周振華.基于數據挖掘的高校學生成績預警系統 [J].大慶石油學院學報,2011,35(4):91-95+2.
[4] 潘潔珠.基于數據挖掘的預警技術研究 [D].合肥:合肥工業大學,2007.
[5] 姜晚云.關聯規則在學生成績管理中的應用研究 [D].合肥:合肥工業大學,2006.
[6] 牛猛.利用Apriori算法對醫學生成績進行課程關聯性分析 [J].河北工程大學學報(社會科學版),2015,32(2):115-117+124.
[7] 陳甲華.基于改進Apriori算法的大學成績關聯規則——某大學信管專業的實證研究 [J].電子技術與軟件工程,2017(8):177-178.