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