陳 穎,遲耀丹,吳博琦,劉安琪
吉林建筑大學(xué) 電氣與計算機(jī)學(xué)院,長春 130118
在社會多樣性發(fā)展和人口素質(zhì)需要提高的雙重環(huán)境壓力下,我國大學(xué)進(jìn)行了全方位擴(kuò)招.然而,隨著學(xué)生的人數(shù)增多,使之對應(yīng)的的相關(guān)數(shù)據(jù)量也變大.為了使得學(xué)生能有更為廣闊的就業(yè)領(lǐng)域,在大學(xué)不停地引進(jìn)新課程同時,還要保證學(xué)生能夠按時完成學(xué)業(yè)、保證教學(xué)質(zhì)量.因此,通過數(shù)據(jù)挖掘技術(shù)探尋成績與課程之間的隱藏信息和潛在關(guān)聯(lián),提高學(xué)生課程的通過率和教學(xué)質(zhì)量,成為大學(xué)針對性教學(xué)的一個重要研究方向.
目前,多數(shù)學(xué)校還停留在對成績數(shù)據(jù)進(jìn)行登記、備份和查詢階段,并未對成績數(shù)據(jù)背后隱藏的信息有其他的分析挖掘.本文利用數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則中的Apriori算法,計算成績與課程之間的支持度和置信度[1],根據(jù)計算結(jié)果,找到成績與課程之間的潛在關(guān)聯(lián),為學(xué)生推薦更適合本人的課程.
在“智慧校園”這一概念出現(xiàn)之前,美國克萊蒙特大學(xué)教授凱尼斯格林在20世紀(jì)90年代初“信息化校園計劃”大型科研項目中提出了“數(shù)字化校園”[2].“數(shù)字化校園”即是“智慧校園”的前身.“智慧校園”從數(shù)字化設(shè)備普及到智慧教育一共經(jīng)歷了5個階段[3],如圖1所示.
在智慧校園教育平臺中,課程和成績是老師和學(xué)生重視的內(nèi)容之一.為了方便老師對學(xué)生進(jìn)行針對性教學(xué)和提高學(xué)生課程成績,本文提出一個學(xué)生成績分析系統(tǒng),用于分析學(xué)生各門課程的考試成績.通過分析結(jié)果,找到各門課程之間的潛在關(guān)聯(lián),為針對性教學(xué)和教學(xué)質(zhì)量提高提供依據(jù).
該系統(tǒng)是以Hadoop平臺為基礎(chǔ)框架,使用Hive作為數(shù)據(jù)倉庫[4],利用Apriori算法對學(xué)生成績數(shù)據(jù)進(jìn)行分析挖掘.系統(tǒng)主要框架圖如圖2所示.
圖1 智慧校園發(fā)展的5個階段Fig.1 Five stages of smart campus development
圖2 系統(tǒng)主要框架圖Fig.2 Main frame diagram of the system
數(shù)據(jù)挖掘[5]以挖掘有趣、有用、隱含的信息為目的,以找到人可以接受的模式來描述數(shù)據(jù)、使用一些變量去預(yù)測未知的或者其他變量未來的值為任務(wù),從大量、多樣、繁雜的數(shù)據(jù)中找到能用的知識.常把數(shù)據(jù)挖掘分為分類問題、聚類問題和關(guān)聯(lián)規(guī)則問題[6].
大量的數(shù)據(jù)冗雜、繁復(fù),不使用技術(shù)手段便得不到有用的信息,此時需要用數(shù)據(jù)挖掘技術(shù)來挖掘有益的數(shù)據(jù).發(fā)現(xiàn)關(guān)聯(lián)規(guī)則[7],即是把相關(guān)聯(lián)的有規(guī)律的數(shù)據(jù)挖掘出來.
關(guān)聯(lián)規(guī)則[7]是發(fā)現(xiàn)事物間相互關(guān)聯(lián)性的規(guī)則,通常用支持度(Support)和置信度(Confidence)兩個標(biāo)準(zhǔn)評估事物之間的相互依賴性或相互關(guān)聯(lián)性.
假設(shè)有一個數(shù)據(jù)庫D,A,B均為D中的項集[8].
支持度SA表示數(shù)據(jù)庫D中項集A所占的比例,即:
(1)
其中,SA為項集A在數(shù)據(jù)庫D中的支持度;PA為項集A在數(shù)據(jù)庫D中所占的比例.
數(shù)據(jù)庫D中既包含項集A又同時包含項集B的百分比稱為關(guān)聯(lián)規(guī)則中的支持度(Support),即:
(2)
其中,S為項集A,B同時在數(shù)據(jù)庫D、中的支持度.
數(shù)據(jù)庫D中已經(jīng)包含項集A的前提下,還包含項集B的百分比稱為關(guān)聯(lián)規(guī)則中的置信度(Confidence),即:
(3)
其中,P(A|B)為數(shù)據(jù)庫D中包含項集A的情況下,包含項集B的概率.
使關(guān)聯(lián)規(guī)則的分析結(jié)果有價值的前提是:計算值滿足最小支持度閾值(min-s)和最小置信度閾值(min-c)[9],這些閾值根據(jù)想要從數(shù)據(jù)挖掘中得到何種潛在信息來進(jìn)行設(shè)定.
一般情況下,關(guān)聯(lián)規(guī)則運(yùn)算采用FP增長與Apriori這兩種算法,FP增長算法[10]是利用一種壓縮的表達(dá)方式FP樹,采用遞歸與分而治之的方法來學(xué)習(xí)頻繁項集;而Apriori算法[11]隸屬于頻繁項集算法,用來降低運(yùn)算的復(fù)雜程度.其主要過程為:多次掃描數(shù)據(jù)庫D,挖掘頻繁項集L1;運(yùn)用函數(shù)apriori_c,完成連接和剪枝步驟,使頻繁項集L1生成候選項集C2,而后挖掘頻繁項集L2;循環(huán)往復(fù)以上步驟,一直計算到?jīng)]有頻繁項集Lk,運(yùn)算截止.
Function apriori_c(Lk)
for each 項集L1∈Lk
for each 項集L2∈Lk
if(L1[1]=L2[1])∧(L1[2]=L2[2])∧…∧(L1[k]=L2[k])
then
{c=L1∞L2; //連接:產(chǎn)生候選
if is_infrequent_subset(c,L)
then
deletec; // 剪枝:刪除非頻繁的候選
Prevention countermeasures for geohazard of Sichuan Tibetan area expressway YUAN Fei-yun LI Yong-lin ZHENG Bin(23)
else
addctoCk;}
本文即是利用Apriori算法,挖掘?qū)W生成績中隱藏的信息,找出成績與課程之間的潛在關(guān)聯(lián),為教師針對性教學(xué)和學(xué)生成績管理提供依據(jù).
基于Apriori算法分析學(xué)生成績,假設(shè)一個班級學(xué)生的成績數(shù)據(jù)庫D,取10個學(xué)生5門課程的成績,分別用T 1,T 2,T 3,T 4,T 5來表示.表1的內(nèi)容表示10個學(xué)生不及格的課程,通過分析支持度S和置信度C來找出不及格課程之間的聯(lián)系[12-13].
表1 成績數(shù)據(jù)庫DTable 1 Grade database D
假定min-s=20 %,根據(jù)式(2),則Apriori算法的運(yùn)行過程如下:
(1) 掃描數(shù)據(jù)庫D,找到候選項集C1,如表2所示,在C1中得到不滿足最小支持度閾值min-s=20 %的頻繁選集L1,如表3所示.
表2 C1Table 2 C1
表3 L1Table 3 L1
(2) 通過連接運(yùn)算,得到候選項集C2,如表4所示,再次掃描數(shù)據(jù)庫D,在不滿足最小支持度閾值min-s=20 %的前提下,從候選項集C2中得到的頻繁選集L2,如表5所示.
表4 C2Table 4 C2
表5 L2Table 5 L2
(3) 通過連接運(yùn)算,得到候選項集{T 1 T 2 T 5},{T 3 T 4 T 5},根據(jù)Apriori算法的性質(zhì):頻繁項集的任一子集必須是頻繁項集.所以只有{T 1 T 2 T 5}符合要求,得到新的候選項集C3,如表6所示,在候選項集C3中得到不滿足最小支持度閾值min-s=20 %的頻繁選集L3,如表7所示.
表6 C3Table 6 C3
表7 L3Table 7 L3
(4) 由(3)可得C4=?,算法運(yùn)行結(jié)束.
(5) 產(chǎn)生關(guān)聯(lián)規(guī)則:以表6、表7中的{T 1 T 2 T 5}為例,根據(jù)式(3)計算置信度Confidence.
Confidence({T1})=>{T2T5}=2/7=29 %
Confidence({T2})=>{T1T5}=2/5=40 %
Confidence({T5})=>{T1T2}=2/6=33 %
Confidence({T2T5})=>{T1}=2/3=67 %
Confidence({T1T5})=>{T2}=2/4=50 %
Confidence({T1T2})=>{T5}=2/4=50 %
可以根據(jù)實(shí)際情況設(shè)置期望置信度.本文將期望置信度設(shè)置為50 %,根據(jù)上述計算結(jié)果,有3條符合條件,即:
Confidence({T2T5})=>{T1}=2/3=67 %
Confidence({T1T5})=>{T2}=2/4=50 %
Confidence({T1T2})=>{T5}=2/4=50 %
可以通過這個數(shù)據(jù),簡單分析出T 1,T 2,T 5課程不及格之間是有相互聯(lián)系的,進(jìn)而得出結(jié)論:假如T 2,T 5兩門課程不及格,則T 1不及格的概率是67 %;T 1,T 5兩門課程不及格,則T 2不及格的概率是50 %;T 1,T 2兩門課程不及格,則T 5不及格的概率是67 %.如果5門課程在同一學(xué)期開課,則T 1,T 2和T 5這3門課程的任課教師應(yīng)該改進(jìn)教學(xué)方法,將3門課程的授課內(nèi)容融會貫通,提高教學(xué)質(zhì)量和考試通過率.
建立成績分析系統(tǒng)已成為高??焖侔l(fā)展中提高教學(xué)質(zhì)量不可忽略的重要環(huán)節(jié).本文闡述了智慧校園發(fā)展進(jìn)程、關(guān)聯(lián)規(guī)則和Apriori算法,并以10名學(xué)生的5門課程成績?yōu)槔?利用Apriori算法對其進(jìn)行計算分析并找出5門課程間的關(guān)聯(lián).本文的不足之處是成績數(shù)據(jù)較為單一,只選取了1個班的5門課程,這會使最后分析結(jié)果存在一定的誤差.在后續(xù)研究中,應(yīng)利用更多的成績數(shù)據(jù)進(jìn)行分析,為在校師生提供一個便于科研、學(xué)習(xí)和生活的服務(wù)型平臺.