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