袁路妍++李鋒
摘 要:利用關(guān)聯(lián)規(guī)則算法分析教育變量之間的關(guān)系,已成為教育變革的重要決策依據(jù)。Apriori算法是經(jīng)典的關(guān)聯(lián)規(guī)則挖掘算法,但該算法需頻繁掃描整個(gè)事務(wù)數(shù)據(jù)庫(kù)導(dǎo)致執(zhí)行效率低下,為此作者通過(guò)壓縮事務(wù)數(shù)據(jù)庫(kù)和減少連接運(yùn)算中無(wú)效比較的次數(shù),對(duì)算法進(jìn)行了優(yōu)化。在教育實(shí)踐中,選取計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)學(xué)生的課程成績(jī)作為樣本,利用優(yōu)化的Apriori算法對(duì)課程成績(jī)進(jìn)行關(guān)聯(lián)分析,分析結(jié)果用于現(xiàn)有課程體系合理性的診斷以及后續(xù)課程學(xué)習(xí)效果的預(yù)測(cè),為課程體系的重構(gòu)及課程教學(xué)方法的改革提供重要參考。
關(guān)鍵詞:數(shù)據(jù)挖掘;關(guān)聯(lián)規(guī)則;Apriori算法;課程成績(jī)分析
中圖分類(lèi)號(hào):G412 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2017)17-0062-04
一、引言
“關(guān)聯(lián)規(guī)則挖掘是數(shù)據(jù)挖掘研究領(lǐng)域中的一個(gè)重要分支,旨在分析出事務(wù)數(shù)據(jù)庫(kù)中有趣的關(guān)聯(lián)或相關(guān)聯(lián)系”[1]。近年來(lái),關(guān)聯(lián)規(guī)則挖掘已經(jīng)在商業(yè)領(lǐng)域取得了眾所矚目的成績(jī),不少學(xué)者也開(kāi)始嘗試將關(guān)聯(lián)規(guī)則挖掘應(yīng)用到教育領(lǐng)域。“數(shù)據(jù)驅(qū)動(dòng)學(xué)校,分析變革教育的大數(shù)據(jù)時(shí)代已經(jīng)來(lái)臨,利用教育數(shù)據(jù)挖掘技術(shù)和學(xué)習(xí)分析技術(shù),構(gòu)建教育領(lǐng)域相關(guān)模型,探索教育變量之間的相關(guān)關(guān)系,為教育教學(xué)決策提供有效支撐將成為未來(lái)教育的發(fā)展趨勢(shì)”[2]。如運(yùn)用關(guān)聯(lián)規(guī)則判定哪一種教學(xué)方法適合某類(lèi)學(xué)生或某門(mén)課程,尋找?guī)熒鞣N行為活動(dòng)之間的內(nèi)在聯(lián)系等,這些成果的運(yùn)用為教學(xué)改革與管理提供了科學(xué)依據(jù)。由于國(guó)內(nèi)在教育領(lǐng)域挖掘分析起步較晚,研究成果大都停留在實(shí)驗(yàn)階段,尚未得到實(shí)際應(yīng)用和推廣。從研究者的背景來(lái)看,“研究者大多數(shù)是計(jì)算機(jī)專業(yè)學(xué)者,他們熟練掌握數(shù)據(jù)挖掘技術(shù),但是缺乏教育和心理學(xué)理論以及教育數(shù)據(jù)的來(lái)源,為教育數(shù)據(jù)挖掘帶來(lái)局限”[3]。學(xué)生的課程成績(jī)是衡量學(xué)生的學(xué)習(xí)效果和教師教學(xué)質(zhì)量的重要依據(jù)之一,課程成績(jī)之間的相關(guān)性一直是教師和學(xué)生關(guān)注的重點(diǎn),但課程成績(jī)的相關(guān)程度利用傳統(tǒng)手段難以量化,難以為學(xué)生的學(xué)業(yè)提供精準(zhǔn)的指導(dǎo)和預(yù)警作用。因此,作者結(jié)合工作實(shí)際,運(yùn)用改進(jìn)的關(guān)聯(lián)規(guī)則挖掘算法Apriori,對(duì)計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)所有課程進(jìn)行關(guān)聯(lián)分析,量化專業(yè)各門(mén)課程成績(jī)之間的關(guān)聯(lián)程度,為完善課程體系,優(yōu)化課程設(shè)置、預(yù)測(cè)課程教學(xué)效果提供科學(xué)依據(jù)。
二、Apriori算法及優(yōu)化
Apriori算法是關(guān)聯(lián)規(guī)則挖掘算法中最經(jīng)典的算法,也是其它關(guān)聯(lián)規(guī)則挖掘算法的思想來(lái)源。“Apriori 用一種候選項(xiàng)目集產(chǎn)生頻繁項(xiàng)集,采用逐層搜索的方法,由頻繁K項(xiàng)目集來(lái)構(gòu)造侯選K+1項(xiàng)目集,當(dāng)沒(méi)有新的候選項(xiàng)目集產(chǎn)生時(shí),Apriori算法結(jié)束”[4],文獻(xiàn)[5]給出了算法的詳細(xì)介紹。
Apriori算法不足及優(yōu)化方法:①計(jì)算Ck中每個(gè)項(xiàng)集的支持度時(shí),需掃描整個(gè)事務(wù)數(shù)據(jù)庫(kù);其計(jì)算依據(jù)是一條事物數(shù)據(jù)是否包含該候選項(xiàng)集,推出事物數(shù)據(jù)庫(kù)中項(xiàng)數(shù)小于K的事務(wù)數(shù)據(jù)對(duì)k-項(xiàng)集的支持度為0,對(duì)k項(xiàng)候選集Ck計(jì)算支持度之前先刪除事務(wù)數(shù)據(jù)庫(kù)中項(xiàng)數(shù)小于K的事務(wù)數(shù)據(jù),對(duì)所掃描事務(wù)數(shù)據(jù)庫(kù)進(jìn)行壓縮。②在連接運(yùn)算中,重復(fù)比較和無(wú)效比較次數(shù)太多。由于在Apriori算法中每條事務(wù)數(shù)據(jù)中的各項(xiàng)已經(jīng)按照字典排序,該算法所生產(chǎn)的頻繁項(xiàng)集也是有序的且任意兩個(gè)項(xiàng)集之間對(duì)位比較也是有序的,即:假設(shè)l1,l2,…,lm是LK-1中的項(xiàng)集,則存在l1 Apriori函數(shù): 輸入:事務(wù)數(shù)據(jù)庫(kù)D;最小支持度閾值min-sup 輸出:頻繁項(xiàng)集L。 Beigin L1=gen_one_frequent(D); For(K=2;Lk-1≠?覫;K++) { Lk=?覫; CK=candidate_gen(Lk-1,min_sup); Dk={t∈D|t.size()?叟K} For each candidate c∈CK { For each transaction t∈Dk { IF c subset of t c.count++; } IF c.count?叟min_sup Add c to Lk } L=L∪LK } Return L End Candidate_gen函數(shù): 輸入:頻繁k-1項(xiàng)集; 輸出:頻繁k項(xiàng)候選集Ck。 條件:l1,l2,…,lm 是LK-1中的項(xiàng)集且項(xiàng)集中的項(xiàng)是按照字典次序由小到大排序,且l1 Begin For (i=1; i?燮m-1;i++) { For(j=i+1;j?燮m;j++) { if((li[1]=lj[1])∧…∧(li[k-2]=lj[k-2])∧(li[k-1] { c=lilj; IF(is_subset(c,Lk-1)) { Add c to Ck;} } Else Break; } } Return Ck End is_subset函數(shù): 輸入:候選k項(xiàng)集c,頻繁k-1項(xiàng)集Lk-1; 輸出:如果包含非頻繁子集,返回FALSE,否則返回TRUE。 Begin for each(k-1)-subset s of c
if s ?埸Lk-1 then
Return FALSE;
Return TRUE;
End
三、優(yōu)化后的Apriori算法在課程成績(jī)分析中的應(yīng)用
1.數(shù)據(jù)的準(zhǔn)備及處理
樣本數(shù)據(jù)選取了某高職院校計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)12級(jí)兩個(gè)班四個(gè)學(xué)期的成績(jī)數(shù)據(jù)。由于考察課以四級(jí)制計(jì)分難以反映學(xué)生個(gè)體成績(jī)差異,因此只選取了專業(yè)考試課程的成績(jī)數(shù)據(jù)。教師在運(yùn)用教務(wù)系統(tǒng)錄入成績(jī)時(shí),難免出現(xiàn)疏漏,每年也存在一定數(shù)量的學(xué)生曠考或中途退學(xué),這樣勢(shì)必會(huì)產(chǎn)生一些干擾數(shù)據(jù)。因此,在數(shù)據(jù)挖掘之前,需要對(duì)原始成績(jī)數(shù)據(jù)進(jìn)行清洗,消除不一致數(shù)據(jù)和干擾數(shù)據(jù)。每種數(shù)據(jù)挖掘算法對(duì)數(shù)據(jù)形式都有特定的要求,關(guān)聯(lián)規(guī)則挖掘算法Apriori算法比較適用于記錄中指標(biāo)取離散值的情況。因此,在數(shù)據(jù)挖掘前需要對(duì)成績(jī)數(shù)據(jù)進(jìn)行離散化處理,而數(shù)據(jù)離散化方法的選取對(duì)數(shù)據(jù)挖掘質(zhì)量的影響至關(guān)重要。
數(shù)據(jù)離散化是將屬性(如數(shù)字型數(shù)據(jù))離散成若干區(qū)間。數(shù)據(jù)離散的方法一般有兩種:一種是等寬的方法,即將屬性的值域【Xmin,Xmax】等距離劃分為K個(gè)區(qū)間,即【Xmax-Xmin】/K,然后將區(qū)間內(nèi)的數(shù)據(jù)映射為相應(yīng)的離散值,該方法對(duì)于存在某區(qū)域偏斜嚴(yán)重的點(diǎn)時(shí),是不適用的,且劃分邊界過(guò)硬;另一種是等頻的方法,即屬性值域劃分為K個(gè)區(qū)間,要求落在每個(gè)區(qū)間的對(duì)象數(shù)目相等,這種方法容易將數(shù)據(jù)值相差很遠(yuǎn)的數(shù)據(jù)放在一組,也嚴(yán)重降低結(jié)果的可用性。
鑒于上述兩種方法均存在弊端,我們提出另一種數(shù)據(jù)離散化方法為“自動(dòng)調(diào)整寬度的劃分方法”:①將屬性值域劃分K個(gè)類(lèi)別,每個(gè)類(lèi)別對(duì)應(yīng)一個(gè)數(shù)據(jù)區(qū)間,區(qū)間的寬度由該類(lèi)別的數(shù)據(jù)占整個(gè)數(shù)據(jù)區(qū)間的比例確定;②確定類(lèi)別的比例可采用經(jīng)驗(yàn)值法或者正態(tài)分布方法;③不同數(shù)據(jù)項(xiàng)的各類(lèi)別所占比例可以不同,這些比例是人為確定的。通過(guò)各類(lèi)別所占比例的調(diào)整,使得每個(gè)數(shù)據(jù)區(qū)間的寬度都是不斷變化的。該方法的優(yōu)點(diǎn)是能夠充分考慮數(shù)據(jù)項(xiàng)的內(nèi)在特點(diǎn)和差異,數(shù)值之間的比例可以操控具有較強(qiáng)的靈活性。在進(jìn)行具體的研究時(shí),將百分制的成績(jī)劃分為5個(gè)等級(jí)(類(lèi)別):優(yōu)秀、良好、中等、及格、不及格,各等級(jí)在每門(mén)課程中所占比例,采用經(jīng)驗(yàn)值法分析所得,其所占比例如表1所示。
依據(jù)表1對(duì)各門(mén)課程成績(jī)劃分比例,將學(xué)生成績(jī)數(shù)據(jù)轉(zhuǎn)換成五級(jí)制。根據(jù)上述改進(jìn)APriori算法的特性,需要將學(xué)生成績(jī)數(shù)據(jù)表按照一條記錄轉(zhuǎn)換為一個(gè)事務(wù)的原則將其轉(zhuǎn)化相應(yīng)的事務(wù)數(shù)據(jù)庫(kù),記錄中的字段值按照一定代碼進(jìn)行轉(zhuǎn)換。
2.代碼轉(zhuǎn)換表制定
對(duì)參與分析的專業(yè)課程進(jìn)行編碼,C語(yǔ)言程序設(shè)計(jì)的編碼為1,數(shù)據(jù)結(jié)構(gòu)編碼為2,依次類(lèi)推。對(duì)成績(jī)等級(jí)進(jìn)行編碼,成績(jī)優(yōu)秀為1,成績(jī)良好為2,成績(jī)中等為3,成績(jī)合格為4,成績(jī)不合格為5,那么課程成績(jī)數(shù)據(jù)對(duì)應(yīng)的代碼表如表2所示。
3.代碼轉(zhuǎn)換表制定
根據(jù)改進(jìn)Apriori算法的特性,將學(xué)生成績(jī)數(shù)據(jù)表,依據(jù)表2按照一條記錄轉(zhuǎn)化為一個(gè)事務(wù)的原則,生成相應(yīng)事務(wù)數(shù)據(jù)表如表3所示。
4.挖掘結(jié)果
進(jìn)過(guò)多次調(diào)整,最終設(shè)置最小支持度為0.3,最小可信度為0.6,共產(chǎn)生出61條規(guī)則,部分關(guān)聯(lián)規(guī)則如表4所示。
由表4中規(guī)則可知,《Web程序設(shè)計(jì)(PHP)》、《網(wǎng)絡(luò)信息編輯》相關(guān)度比較高,若《Web程序設(shè)計(jì)(PHP)》這門(mén)課程良好,《網(wǎng)絡(luò)信息編輯》課程良好的可信度為81.82%。同樣,《FlashAs3.0程序設(shè)計(jì)II》與《多媒體軟件項(xiàng)目開(kāi)發(fā)課程設(shè)計(jì)》兩門(mén)課程成績(jī)存在很強(qiáng)的關(guān)聯(lián)關(guān)系。其它的規(guī)則同樣可按這種方式分析。將這種關(guān)聯(lián)關(guān)系主動(dòng)推送給學(xué)生和任課教師,學(xué)生可依據(jù)這些關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)對(duì)待學(xué)習(xí)課程的激勵(lì)和提醒,如本學(xué)期要學(xué)習(xí)《網(wǎng)絡(luò)信息編輯》課程,依據(jù)表4規(guī)則可知,其先導(dǎo)課程《Web程序設(shè)計(jì)(PHP)》成績(jī)良好,學(xué)好《網(wǎng)絡(luò)信息編輯》課程的概率就非常大,從而提升學(xué)習(xí)自信,否則學(xué)習(xí)失敗的可能性比較大。對(duì)于任課老師,若本學(xué)期教《網(wǎng)絡(luò)信息編輯》這門(mén)課程,其可利用這些規(guī)則,如《Web程序設(shè)計(jì)(PHP)》這門(mén)課程對(duì)該課程學(xué)習(xí)效果進(jìn)行預(yù)測(cè),事先評(píng)估全班學(xué)生的學(xué)習(xí)概況,開(kāi)課前識(shí)別出可能出現(xiàn)的學(xué)習(xí)困難的學(xué)生和學(xué)習(xí)優(yōu)異的學(xué)生,做到對(duì)學(xué)習(xí)困難者給予關(guān)注和指導(dǎo),給予學(xué)習(xí)優(yōu)異者及時(shí)鼓勵(lì)和提出進(jìn)一步要求,有利于展開(kāi)小組協(xié)作學(xué)習(xí),從而提升全班學(xué)生的學(xué)習(xí)效果。
四、結(jié)束語(yǔ)
實(shí)驗(yàn)證明,通過(guò)壓縮掃描的事務(wù)數(shù)據(jù)庫(kù)及減少連接運(yùn)算中無(wú)效比較的次數(shù),能有效解決Apriori算法頻繁掃描事務(wù)數(shù)據(jù)庫(kù)帶來(lái)的低效問(wèn)題。運(yùn)用優(yōu)化后的Apriori算法對(duì)課程成績(jī)數(shù)據(jù)進(jìn)行挖掘分析,產(chǎn)生的規(guī)則在一定程度上反映了課程成績(jī)之間的影響程度,這些規(guī)則的運(yùn)用能夠比較準(zhǔn)確的預(yù)測(cè)后續(xù)課程的教學(xué)效果,因此,教師在授課前可以預(yù)測(cè)課程的整體學(xué)習(xí)情況并給予及時(shí)的干預(yù)和指導(dǎo),學(xué)生也可依據(jù)規(guī)則,對(duì)課程學(xué)習(xí)效果做事先評(píng)估和預(yù)測(cè),以便在今后的學(xué)習(xí)中做到有的放矢。
實(shí)際挖掘中,給定不同的支持度和置信度會(huì)產(chǎn)生不同的關(guān)聯(lián)規(guī)則,有些規(guī)則并無(wú)實(shí)際意義,需要結(jié)合實(shí)際情況進(jìn)一步驗(yàn)證規(guī)則的可用性。也存在一些本應(yīng)該出現(xiàn)的規(guī)則并未出現(xiàn)如《C語(yǔ)言程序設(shè)計(jì)》與《數(shù)據(jù)結(jié)構(gòu)》,其主要原因是課程體系結(jié)構(gòu)不合理造成的。針對(duì)現(xiàn)實(shí)中關(guān)聯(lián)性比較強(qiáng)而數(shù)據(jù)分析結(jié)果關(guān)聯(lián)性比較弱的課程,教學(xué)管理者需對(duì)該課程的教學(xué)內(nèi)容、學(xué)時(shí)分配、開(kāi)課學(xué)期、考核方式作合理性辨識(shí),進(jìn)一步修訂課程體系。
參考文獻(xiàn):
[1]劉華婷,郭仁祥,姜浩.關(guān)聯(lián)規(guī)則挖掘Apriori算法的研究與改進(jìn)[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(1):146.
[2]徐鵬,王以寧等.大數(shù)據(jù)視角分析學(xué)習(xí)變革——美國(guó)《通過(guò)教育數(shù)據(jù)挖掘和學(xué)習(xí)分析促進(jìn)教與學(xué)》報(bào)告解讀及啟示[J].現(xiàn)代遠(yuǎn)程教育,2013(6):11.
[3]李婷,傅鋼善.國(guó)內(nèi)外教育數(shù)據(jù)挖掘研究現(xiàn)狀及趨勢(shì)分析[J].現(xiàn)代教育技術(shù),2010,20(10):22.
[4]王華,劉萍.改進(jìn)的關(guān)聯(lián)規(guī)則算法在學(xué)生成績(jī)預(yù)警中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(3):679.
[5]Jiawei Han, Micheline Kamber;范明,孟小峰譯.數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2007:160-165.
(編輯:王曉明)endprint