韓睿鵬,雷立宏,丁巖
(長春理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130022)
隨著高等教育的迅速發(fā)展,大多數(shù)高校教育信息化的應(yīng)用,教務(wù)數(shù)字化信息數(shù)量飛速增長,給高校管理機(jī)構(gòu)和教師的教學(xué)方法的改進(jìn)帶了不少新課題[1]。教育行業(yè)的大數(shù)據(jù)處理已經(jīng)成為我們國家高?;A(chǔ)性和前沿性的技術(shù)需求,對學(xué)生的成績數(shù)據(jù)進(jìn)行深度的處理和分析就是一個亟待解決的課題,大數(shù)據(jù)基礎(chǔ)上的數(shù)據(jù)分析可以有效處理這一課題[2]。當(dāng)前,大部分高校都具有學(xué)生成績數(shù)據(jù)的海量存儲,隱含在這些海量成績數(shù)據(jù)后面是很重要的知識信息,學(xué)生成績的大數(shù)據(jù)分析能夠挖掘并利用隱藏的價值。
在互聯(lián)網(wǎng)+時代,大數(shù)據(jù)的開放、挖掘和應(yīng)用已經(jīng)成為信息領(lǐng)域的發(fā)展趨勢。數(shù)據(jù)挖掘是在沒有確定目標(biāo)下去發(fā)現(xiàn)潛在應(yīng)用價值,數(shù)據(jù)挖掘與普通的數(shù)據(jù)處理不一樣,它把數(shù)據(jù)處理從簡單增添、刪除、查詢,提高到一個更高級的挖掘知識,智能決策階段[3,4]。數(shù)據(jù)挖掘的步驟如下圖1所示。數(shù)據(jù)挖掘任務(wù)實現(xiàn)的技術(shù)較多,從應(yīng)用領(lǐng)域和科學(xué)研究方面考慮,數(shù)據(jù)挖掘的技術(shù)分為以下6種:關(guān)聯(lián)、預(yù)測、聚類、分類、回歸、診斷。
圖1 數(shù)據(jù)挖掘步驟
關(guān)聯(lián)規(guī)則分析方法是挖掘數(shù)據(jù)特征之間的彼此聯(lián)系,挖掘的目標(biāo)是分析出數(shù)據(jù)之間隱藏的關(guān)系網(wǎng)[5]。關(guān)聯(lián)規(guī)則分析在許多領(lǐng)域獲得了良好的效果,例如商業(yè)、醫(yī)療保健、郵遞、金融證券等。關(guān)聯(lián)規(guī)則的基本概念如下:
定義1:關(guān)聯(lián)規(guī)則
關(guān)聯(lián)規(guī)則可表示為X?Y的公式,X,Y分別是項目集的真子集,X∩Y=?。X叫做X?Y的前提,Y叫做X?Y的結(jié)果。
定義2:關(guān)聯(lián)規(guī)則的支持度(Support)
關(guān)聯(lián)規(guī)則的支持度是交易集中同時包括X和Y的交易數(shù)與所有交易數(shù)之比,記為support(X?Y),即support(X?Y)=support(X∪Y)=P(XY)
支持度表明了同時包含X和Y的項集在事物數(shù)據(jù)庫中同時出現(xiàn)的概率。
定義3:關(guān)聯(lián)規(guī)則的置信度(Confidence)
關(guān)聯(lián)規(guī)則的置信度是事物數(shù)據(jù)庫中同時包含X和Y的事物數(shù)與所有包含X的事物數(shù)之比,記為confidence(X?Y),即:
定義4:最小支持度與最小置信度
最小支持度(min_sup)和最小可信度(min_conf)都是用戶自己定義的一個界限值。X?Y的支持度≥min_sup并且X?Y的可信度≥min_conf,此時認(rèn)為X?Y是有趣的。最小支持度描述項目集統(tǒng)計上最低重要水平,最小置信度描述了項目集統(tǒng)計上必需的最低可信性。
FP-Growth算法是一種關(guān)聯(lián)規(guī)則分析方法,創(chuàng)造性地提出使用更適宜的數(shù)型結(jié)構(gòu),沒有候選項目集,提高了算法的速度。FP-Growth算法主要分兩步:一、建立FP樹;二、從FP樹中挖掘頻繁模式[6]。該算法主要有以下兩大優(yōu)點:一、不產(chǎn)生候選集;二、只需要2次搜索數(shù)據(jù)庫,效率很高。
該算法的具體描述如下:
第一步:FP-樹構(gòu)造算法流程圖2所示。
圖2 FP-樹構(gòu)造算法流程圖
第二步:挖掘FP-tree的頻繁模式,算法流程圖如下圖3所示。
圖3 挖掘FP-tree的頻繁項集算法流程圖
為了說明算法的實現(xiàn)過程,假設(shè)原始項目集如圖4所示。
步驟1:構(gòu)建FP-樹:
搜索事物數(shù)據(jù)庫,結(jié)果為頻繁集1-項目集F,如圖5所示。
圖5 頻繁集1-項目集F
設(shè)定min_sup=2,對F重新排列,如圖6所示。
創(chuàng)建根節(jié)點和頻繁項目表如圖7所示。
圖7 根節(jié)點和頻繁項目表
加入第一個事物(I2,I1,I5)如圖8所示。
圖8 加入第一個事物的FP-樹
依次加入其它事物,一棵完整的FP-樹構(gòu)建,如圖9所示。
圖9 完整的FP-樹
步驟2:根據(jù)FP-樹挖掘頻繁項集:
1)首先從I5開始,導(dǎo)出條件模式基:<(I2,I1,I3:1)、(I2,I1:1)>,并構(gòu)造條件FP-樹如圖10所示。
圖10 I5條件FP-樹
得到 I5的頻繁項集:{I1,I5:3}、{I2,I5:2}、{I1,I3,I5:2}、{I2,I1,I5:2}。
同理,依次考慮,I1,I3,I4,得到的頻繁項集如下。
I1的頻繁項集:{I2,I1:4}。
I3的頻繁項集:{I1,I3:4}、{I2,I3:4}、{I2,I1,I3:2}。
i4的頻繁項集:{I2,I4:3}、{I1,I4:2}。
上面實例演示了FP-Growth算法的詳細(xì)實現(xiàn)過程,可以看出,按照FP-Growth算法查找頻項集,更直觀,更高速。
數(shù)據(jù)幾乎都是不完善的,大部分原始業(yè)務(wù)數(shù)據(jù)具有不完全,自相矛盾或數(shù)據(jù)噪聲等的一系列問題。數(shù)據(jù)預(yù)處理可以對原始數(shù)據(jù)進(jìn)行糾正、篩選、合并、去除不合理的數(shù)據(jù),從而提高數(shù)據(jù)質(zhì)量,為下一步的數(shù)據(jù)分析做好準(zhǔn)備。因為數(shù)據(jù)質(zhì)量的差異,挖掘類型的不同,原始數(shù)據(jù)預(yù)處理運(yùn)用的技術(shù)也會相應(yīng)變化。一般情況下,數(shù)據(jù)預(yù)處理包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約和數(shù)據(jù)變換等步驟,如圖11所示。
用于成績分析的樣本數(shù)據(jù)來源于長春理工大學(xué)教務(wù)管理系統(tǒng)中2012-2016級計算機(jī)科學(xué)技術(shù)專業(yè)7個班4個年級必修課成績數(shù)據(jù)。教師輸入數(shù)字化成績時,偶爾也會出現(xiàn)失誤,學(xué)生也會由于某種原因缺考或中途退學(xué),去掉成績?nèi)笔Ш蛿?shù)據(jù)錯誤的記錄后,共有1200條成績記錄。成績單包括學(xué)號、姓名、學(xué)院、系、計算機(jī)導(dǎo)論、面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)與算法、數(shù)字邏輯、計算機(jī)網(wǎng)絡(luò)、計算科學(xué)與數(shù)值方法等多個屬性。首先將姓名、學(xué)院、系這幾個屬性刪掉,其余的全部用于挖掘分析成績的屬性。
在數(shù)據(jù)分析前經(jīng)常需要對連續(xù)型的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,數(shù)據(jù)離散化是創(chuàng)建數(shù)據(jù)挖掘算法最常使用的方法,而數(shù)據(jù)挖掘結(jié)果的可靠性是與數(shù)據(jù)離散化方法的選取息息相關(guān)的。數(shù)據(jù)離散化是把連續(xù)型數(shù)據(jù)劃分成若干區(qū)間,然后分別用不同符號來代替不同個區(qū)間。使用的是“自動調(diào)整寬度”的離散化方法。此方法的特點是充分照顧到不同數(shù)據(jù)特性,數(shù)值區(qū)間劃分的比例能夠調(diào)控,具有較強(qiáng)的靈活性[7]。
在針對學(xué)習(xí)成績的分析中,將分?jǐn)?shù)制的成績數(shù)據(jù)離散化為等級制。由此把百分的成績分為優(yōu)秀、良好、中等、及格、不及格5個等級,下表1表示各等級在各門課程中所占百分比[8]。
表1 課程成績離散化數(shù)據(jù)比例
依照表1中對各門課程成績的百分率分段,將每個學(xué)生的成績轉(zhuǎn)換成A,B,C,D,E五個等級。
把參加挖掘的每門課程名稱轉(zhuǎn)換為編碼,計算機(jī)導(dǎo)論的編碼為1,面向?qū)ο蟪绦蛟O(shè)計的編碼為2,數(shù)據(jù)結(jié)構(gòu)與算法的編碼為3,以此類推[9,10]。
同樣把成績等級轉(zhuǎn)換為編碼,優(yōu)秀為A,良好為B,中等為C,合格為D,不合格為E,則成績數(shù)據(jù)轉(zhuǎn)換后的代碼表如表2所示。
表2 代碼轉(zhuǎn)換表
學(xué)生成績數(shù)據(jù)庫如下表3,表中每一行是一個學(xué)生的成績信息,例如:第一行是學(xué)號S1的各門課成績,計算機(jī)導(dǎo)論、面向?qū)ο蟮某绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)與算法、高等數(shù)學(xué)等分別是91、86、83、92、…。
表3 學(xué)生成績數(shù)據(jù)庫
依據(jù)FP-growth算法的要求,下面將學(xué)生成績數(shù)據(jù)庫(表3)轉(zhuǎn)換為對應(yīng)的事務(wù)數(shù)據(jù)庫,使用區(qū)間映射方法,將學(xué)生表中對應(yīng)的每一個的成績值由數(shù)值型映射成某個枚舉值,轉(zhuǎn)換結(jié)果如表4所示。
表4 事物數(shù)據(jù)庫
為了數(shù)據(jù)挖掘的信息可信程度較高,設(shè)置min_sup=0.3,min_conf=0.6,執(zhí)行 FP-growth關(guān)聯(lián)分析算法,分析哪些課程之間具有較強(qiáng)的關(guān)聯(lián)性,挖掘出前期課程對后期課程成績的影響。挖掘出來的部分結(jié)果如表5所示,可以看出,滿足最小支持度0.3的包含3門課的項集如下:
{數(shù)字邏輯(良好),面向?qū)ο蟪绦蛟O(shè)計(優(yōu)秀),計算機(jī)網(wǎng)絡(luò)(優(yōu)秀)}
{電工電子技術(shù)(優(yōu)秀),數(shù)據(jù)結(jié)構(gòu)(中等),計算機(jī)網(wǎng)絡(luò)(良好)}
{數(shù)據(jù)結(jié)構(gòu)(良好),數(shù)字邏輯(良好),計算機(jī)網(wǎng)絡(luò)(良好)}
說明計算機(jī)網(wǎng)絡(luò)取得優(yōu)秀成績和數(shù)字邏輯的優(yōu)良程度且面向?qū)ο蟪绦蛟O(shè)計優(yōu)秀具有很大的關(guān)系。
設(shè)置目標(biāo)課程T為“計算機(jī)網(wǎng)絡(luò)”,目標(biāo)規(guī)則為關(guān)聯(lián)后件包含“計算機(jī)網(wǎng)絡(luò)”的關(guān)聯(lián)規(guī)則。得到的關(guān)聯(lián)規(guī)則如表5所示。
表5 部分挖掘結(jié)果示例
表5的規(guī)則表明如果數(shù)字邏輯成績優(yōu)秀,則計算機(jī)網(wǎng)絡(luò)成績也為優(yōu)秀的概率為90.1%,說明數(shù)字邏輯成績好的學(xué)生在學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)課程時會有一定優(yōu)勢,原因在于數(shù)字邏輯作為計算機(jī)專業(yè)的基礎(chǔ)學(xué)科,為學(xué)生奠定了邏輯運(yùn)算及硬件基礎(chǔ),可為學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)打好基礎(chǔ)。計算機(jī)導(dǎo)論成績優(yōu)秀,則計算機(jī)網(wǎng)絡(luò)成績也為優(yōu)秀的概率為85.9%,說明計算機(jī)導(dǎo)論成績突出對學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)也有很大優(yōu)勢,計算機(jī)導(dǎo)論講述了有關(guān)計算機(jī)的基礎(chǔ)知識,基本理念,給予計算機(jī)網(wǎng)絡(luò)的學(xué)習(xí)很深厚的專業(yè)理論功底。同理,挖掘出的其他規(guī)則可以得到其他前期課程對計算機(jī)網(wǎng)絡(luò)成績的影響。
根據(jù)以上列出的具有較強(qiáng)關(guān)聯(lián)性的課程和推導(dǎo)出的關(guān)聯(lián)規(guī)則,教務(wù)管理人員可以預(yù)先了解學(xué)生學(xué)習(xí)有關(guān)課程的情況,有選擇性地制定教學(xué)計劃。例如,若計劃開設(shè)《計算機(jī)網(wǎng)絡(luò)》這門課程,則可使用《數(shù)字邏輯》這門課程學(xué)習(xí)成績對《計算機(jī)網(wǎng)絡(luò)》課程預(yù)先測評,對班級每個學(xué)生的學(xué)習(xí)狀況進(jìn)行評估,根據(jù)不同的評估結(jié)果,分別對待,個別指導(dǎo),繼而激發(fā)全班學(xué)生的學(xué)習(xí)潛力。學(xué)生們亦可根據(jù)挖掘出來規(guī)則,提高對某些課程的關(guān)注和努力。比如想要《計算機(jī)網(wǎng)絡(luò)》課程取得好的成績,從表5規(guī)則可看到,如果其先期課程《數(shù)字邏輯》成績良好及《面向?qū)ο蟪绦蛟O(shè)計》成績優(yōu)秀,學(xué)好《計算機(jī)網(wǎng)絡(luò)》課程的可能性就很高,從為學(xué)習(xí)做好先期準(zhǔn)備,提升學(xué)習(xí)效果。
關(guān)聯(lián)規(guī)則分析是數(shù)據(jù)挖掘中最簡單、最實用、最重要一種知識模式,實驗證明,通過FP-growth頻繁增長模式算法能夠有效地對課程成績數(shù)據(jù)進(jìn)行挖掘分析,得到理想的挖掘結(jié)果。挖掘出來的關(guān)聯(lián)規(guī)則在某種程度上顯示了課程之間時間安排順序的重要性,前期課程對后續(xù)課程教學(xué)效果的影響力。此外,教師可以根據(jù)前期課程的學(xué)習(xí)情況,有目標(biāo)、有針對性地對不同學(xué)生關(guān)注和輔導(dǎo)。學(xué)生也可參照規(guī)則,對學(xué)習(xí)的科目進(jìn)行評估和預(yù)測,以便在今后的學(xué)習(xí)中采取有效的措施,最終達(dá)到較好的教學(xué)效果。課程成績數(shù)據(jù)分析的有效成果為將數(shù)據(jù)挖掘技術(shù)逐步推廣開來,應(yīng)用在教育領(lǐng)域的各個方面,具有重要的現(xiàn)實意義。