摘 要
高校在長期的教學管理過程中積累了海量的學生成績信息,但是普遍的對于成績的分析處理工作還停留在簡單的查詢、分析和統計階段。本文利用關聯規則Apriori算法,以學生成績數據為研究對象,挖掘課程之間的相互關系,為科學的制定人才培養方案,提高高校人才培養質量進行了積極地探索與研究。
【關鍵詞】成績分析 關聯規則 Apriori算法
1 數據挖掘
數據挖掘其實就是從大量、有噪聲、隨機性、不完全、模糊的應用數據中,提取并隱藏在應用數據中心、人們不知道但是有價值的信息和知識的過程,通過數據挖掘系統能夠自動分析原有數據,并作出歸納總結,挖掘出數據原有的模式,為決策者提供參考價。數據挖掘包括數據倉庫、預處理、分類聚類、關聯分析等。關聯分析是數據挖掘最貼近我們生活的一部分了,登錄亞馬遜網站,當我們挑選一本《Android4高級編程》時,網站會不失時機的列出你可能還會感興趣的書籍,如Android游戲開發、Cocos2d-x引擎等,讓我們的購物車變得更充實,而錢包又空了些。
數據挖掘是一門綜合了統計學、信息技術、人工智能等多項技術。其中數據挖掘聚類和決策樹則是機器學習理論知識。關聯性規則挖掘技術對數據挖掘技術具有非常重大的意義,它進一步擴展了數據挖掘的研究,到如今已經成為了數據挖掘領域中的一個分支。關聯性規則不僅體現數據之間的關聯,更為重要的是關聯系規則的表達簡潔,便于理解,近年來已經成為數據挖掘技術研究領域的熱點話題。
2 關聯規則Apriori算法
Apriori算法是關聯規則算法之一。Apriori算法的第一遍僅僅計算每個項目的具體指的數量,以確定大型1項集。隨后的遍歷,第k次遍歷,包括兩個階段。首先,使用在第(k-1)次遍歷中找到的大項集Lk-1和Apriori-gen函數產生候選項集。接著掃描數據庫,計算中候選的支持度,從而得到中的支持度不小于最小支持度的k階大項集。重復以上步驟,直到某一階的大項集為空時,算法停止。
Apriori算法指導我們,如果要發現強關聯規則,就必須先找到頻繁集。所謂頻繁集,即支持度大于最小支持度的項集。如何得到數據集合D中的所有頻繁集呢?
用一種非常原始的辦法來分析,就是對于數據集D,遍歷每一條記錄T,可以得到T的所有子集,然后計算每一個子集的支持度,最后再將結果與最小支持度比較。我們暫且不管數據集D中有多少條記錄,就說每一條記錄T的子集個數,{1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果記錄T中含有n項,那么它的子集個數是-1。計算量是非常大的,很明顯這種方法是不可取的。
因此,Aprior算法提出了一個逐層搜索的方法,如何逐層搜索呢?包含兩個步驟:
(1)自連接獲取候選集。第一輪的候選集就是數據集D中的項,而其他輪次的候選集則是由前一輪次頻繁集自連接得到(頻繁集由候選集剪枝得到)。
(2)對于候選集進行剪枝。如何剪枝呢?候選集的每一條記錄T,如果它的支持度小于最小支持度,那么就會被剪掉;此外,如果一條記錄T,它的子集有不是頻繁集的,也會被剪掉。
算法的終止條件是,如果自連接得到的已經不再是頻繁集,那么取最后一次得到的頻繁集作為結果。
3 教務管理系統中的學生成績數據挖掘
學生的考試成績不僅體現了學生階段性的學習效果,而且是檢驗學校教學效果的重要依據。為了提高學校教學質量,所以必須對學生的考試成績進行數據挖掘,挖掘出學生考試成績背后的關鍵性因素,可以從學生的性別、專業、課程、入學成績、老師對學生的考核評價等因素為切入點,分析這些因素對學生成績產生的影響,并找出各個要素之間的潛在規律,從而分析出影響學生考試成績的主要因素,并預測學生哪一部分成績還需要進一步加強。采用關聯系規則對學生成績進行數據挖掘,通過數據倉庫查看各個專業學生課程成績單,并分析各個課程與其他課程之間的關聯和影響,從而制定專業的人才培養計劃。在制定計劃的時候,依次從公共課、專業課到拓展課等方面設置相關課程。不同的專業開設課程的時間不同,開課時間次序對學生學習后續課程會產生一定的影響。但是過去很多高校在課程安排上比較隨意,通常都是高校教務處的人根據過去的教學經驗和主觀認知,安排學生的課程時間。然而每一門課程都有它的特點,比如體育課學生可能需要大量的運動,消耗的體能比較多,運動過后學生無論精神上還是身體上都比較疲憊,這個時候上課的效果就不太好,所以在安排課程的時候,盡量將體育課安排到下午的時間段,這樣不會學校其他課程的教學效果。通過關聯性分析,找出每一門課程的影響因素,合理安排課程的先后順序,為人才方案制定者提供科學的決策依據。
我們從教務管理系統中選取1000名軟件技術專業學生的成績,根據學生成績進行數據挖掘,部分成績數據如表1所示。
根據學生考試成績表,分析學生不及格科目之間的關系,60分以下的設置最小支持度為0.04。設置關聯規則的參數,將成績范圍設定為0至59,最小支持度為0.04。
使用Aprior算法對數據倉庫中的相關數據進行關聯規則分析,結果如表2所示。
通過對1000名軟件技術專業的學生60分以下成績進行數據挖掘,發現學生的電路分析和高等數學兩門科目的置信度是0.51,C++程序設計這門課程的置信度是0.40。根據圖表各個課程的置信度可以得出結論。如果學生在大一階段的基礎課程如高等數學學習成績比較差,那么學生的電路分析和C++程序設計兩門科目的學習成績也會不太好,不及格的概率比較大。相對來說,如果高等數學和電路分析兩門課程的置信度達到了0.35,那么對學生的電路分析和C++程序設計兩門科目的學習成績影響不大。那么可以得出這樣的結論,電路分析課程開設在高等數學這門課程之后。通過以上分析,我們可以得出,將一些基礎課程作為專業課程的前導課程,能夠為學生后期學習打下堅實的基礎;如果學生的基礎知識學習不好,那么對專業課程的影響也很大,專業課程的學習和基礎課程有直接關系。研究影響學生成績優秀的課程之間的關系,80分以上設置最小支持度為0.04。設置關聯規則的參數,設定分數范圍80至100,最小支持度為0.04。
利用關聯規則產生如表3所示的數據挖掘結果。
通過對軟件技術專業考試成績在80分以上學生進行數據挖掘,發現專業英語和大學英語兩門課程的置信度是0.62,從中我們可以得出結論,如果學生的英語基礎成績比較好,那么學生的大學英語成績也相對來說沒有什么問題,學生的專業英語成績分數也相對比較高。數據結構和C++程序設計兩門課程是計算機專業的專業基礎課堂,兩門課程的置信度是0.64,從課程的置信度可以看出這兩門課程對專業學習數據結果的影響,如果學生的數據結構這門課程學習成績比較好,那么學生C++程序設計這門課程的學習成績也比較好。從以上分析來網頁設計和制作與photoshop圖像處理兩門課程的置信度是0.68,從中可以看出photoshop圖像處理課程對網頁設計和制作有很大影響。網頁制作的時候,需要photoshop圖形圖像處理軟件對圖片進行處理和調整。所以photoshop圖像處理課程可以設置在網頁制作課程之前,以便學生在學習網頁制作的時候,能夠用photoshop軟件對圖片進行處理。
從上述內容我們可以看出,高校專業課程之間的關聯性很強,從學生考試成績就可以看出,因此在學校開設課程的時候,一定要考慮課程關聯性影響,按照對學生影響大小制定開設課程的次序,并作為學校培養人才的重要依據。
此外在對學生成績進行數據挖掘的時候,還要考慮到學生入學成績和整體考試成績,經學生的入學成績錄入系統,并對學生所有課程考試成績綜合分析,算出平均成績,按照平均成績劃分優秀、良、差等不同等級,將入學成績也分為優、良、差等不同等級,挖掘出入學成績和考試成績之間的關聯。
成績關聯性數據挖掘結果如表4所示。
4 結論
從上述結果得出,如果學生的入學成績差和考試成績優的置信度是0.41,這就表明如果學生的基礎比較差,那么在大學的考試成績好的可能性不大。如果學生的入學成績差和考試成績優的置信度是0.65,那就表明基礎成績差的學生也可以考出良等的考試成績,這樣就能推翻過去傳統理論上入學考試成績好的學生,在大學的學習成績也會很好,如果入學成績不好的學生,在大學的成績肯定不好的這種理論。通過關聯性分析,可以看出學生入學成績的好壞與學生大學成績的好壞并沒有必然的聯系。大學自由的學習氣氛給學生的學習創造了良好的環境,如果學生抓住這個機會,自主學習,那么就能獲得好的成績,如果還是秉承按照高中階段的學習思維,那么可能學生不利于學生的學習。
參考文獻
[1]王少華等.關聯規則在高校系統中的應用[J].福建電腦,2007(12):153-156.
[2]王能斌等.大學課表調度系統UTSS[J].計算機學報,1984(05):383-389.
[3]何炎樣.關聯規則的幾種開采算法及其比較[J].小型微型計算機系統,2001(09).
[4]趙俏.高職院校教務管理中的數據挖掘[J].科技信息,2008(11):80,95.
[5]楊克松.論關聯規則在高校選課系統中的應用[J].福建電腦,2007(10):166-168.
[6]周培德.算法設計與分析[M].北京:機械工業出版社,1996.
作者簡介
周興旺(1979-),男,江蘇省揚州市人。工學碩士學位。現為南通科技職業學院講師。主要研究方向為計算機網絡技術、數據挖掘、教育教學管理等。
作者單位
南通科技職業學院 江蘇省南通市 226007