王 狄,余良俊
(1.湖北師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,湖北 黃石 435002;2.湖北第二師范學(xué)院 計(jì)算機(jī)學(xué)院,武漢 430205)
近年來(lái),學(xué)生的成績(jī)預(yù)測(cè)逐漸引起廣泛關(guān)注。學(xué)生的期末成績(jī)具有重要意義且在總評(píng)中占據(jù)顯著比重,因此準(zhǔn)確預(yù)測(cè)這一結(jié)果變得尤為必要。通過(guò)采用適當(dāng)?shù)哪P瓦M(jìn)行學(xué)生成績(jī)預(yù)測(cè),不僅可以激發(fā)學(xué)生的學(xué)習(xí)興趣,還能減輕教師的教學(xué)負(fù)擔(dān),實(shí)現(xiàn)更有針對(duì)性的教學(xué)策略。這不僅提升了教學(xué)質(zhì)量,也對(duì)學(xué)生和教師都具有重要意義。
隨著信息技術(shù)的發(fā)展,越來(lái)越多的學(xué)者把工作重點(diǎn)放到研究學(xué)生成績(jī)預(yù)測(cè)上面來(lái)。目前對(duì)成績(jī)預(yù)測(cè)的研究大致可以分為兩類:一類是基于機(jī)器學(xué)習(xí)算法,如決策樹[1],大數(shù)據(jù)神經(jīng)網(wǎng)絡(luò)[2],貝葉斯網(wǎng)絡(luò)[3]等,用以預(yù)測(cè)影響學(xué)生成績(jī)的因素;另一類是應(yīng)用推薦技術(shù),如融合時(shí)間序列和協(xié)同過(guò)濾[4],融合知識(shí)圖譜和協(xié)同過(guò)濾[5]的方法。這兩種方法各有優(yōu)缺點(diǎn),其中后者在缺乏歷史數(shù)據(jù)的情況下得到的結(jié)果往往比較差。樸素貝葉斯算法具有堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ),分類效率比較穩(wěn)定,且對(duì)缺失數(shù)據(jù)不太敏感。[6]因此本文采用的是一種改進(jìn)的樸素貝葉斯算法來(lái)對(duì)學(xué)生的成績(jī)進(jìn)行預(yù)測(cè),并且和幾種經(jīng)典的樸素貝葉斯改進(jìn)算法模型進(jìn)行對(duì)比,能夠?yàn)閺V大研究者提供一個(gè)參考依據(jù)。
隱樸素貝葉斯算法(HNB)[7]認(rèn)為每個(gè)屬性節(jié)點(diǎn)都有一個(gè)隱藏的父親節(jié)點(diǎn),這個(gè)隱藏的父親節(jié)點(diǎn)包含了其它屬性節(jié)點(diǎn)對(duì)該屬性節(jié)點(diǎn)的影響;平均一依賴估測(cè)器算法(AODE)[8]是一種特殊的樹擴(kuò)展的樸素貝葉斯算法,它把它的屬性節(jié)點(diǎn)當(dāng)成是其它所有屬性節(jié)點(diǎn)的父親節(jié)點(diǎn),然后再把這些樹擴(kuò)展的樸素貝葉斯分類器進(jìn)行平均;實(shí)例加權(quán)的樸素貝葉斯算法(AVFWNB)[9]是一種對(duì)樸素貝葉斯進(jìn)行實(shí)例加權(quán)從而改進(jìn)樸素貝葉斯的算法,該算法通過(guò)計(jì)算實(shí)例的屬性值頻率來(lái)求出每個(gè)實(shí)例所占的權(quán)重,從而對(duì)每個(gè)實(shí)例進(jìn)行加權(quán)。
樸素貝葉斯算法結(jié)構(gòu)簡(jiǎn)單,且分類效果良好,因此受到了廣大研究者的青睞。樸素貝葉斯算法在多個(gè)領(lǐng)域都具有很好的應(yīng)用價(jià)值。目前,樸素貝葉斯被廣泛應(yīng)用于文本分類[10]、火災(zāi)預(yù)警[11]、入侵檢測(cè)[12]、風(fēng)險(xiǎn)評(píng)估[13]等應(yīng)用領(lǐng)域。
隱樸素貝葉斯HNB(Hidden Na?ve Bayes)模型通過(guò)為每個(gè)屬性節(jié)點(diǎn)添加一個(gè)隱藏的父親節(jié)點(diǎn),這個(gè)隱藏的父親節(jié)點(diǎn)對(duì)該屬性節(jié)點(diǎn)的影響包含了其他所有屬性節(jié)點(diǎn)對(duì)該屬性節(jié)點(diǎn)的影響。[14]假設(shè)用A1,A2,A3,A4來(lái)表示它的四個(gè)屬性節(jié)點(diǎn),則隱樸素貝葉斯的結(jié)構(gòu)可以由圖1表示:
圖1 隱樸素貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖
在圖2中,A1,A2,A3,A4表示的是四個(gè)屬性變量,C表示的是類變量。每個(gè)屬性節(jié)點(diǎn)都有一個(gè)隱藏的父親節(jié)點(diǎn),隱藏的父親節(jié)點(diǎn)用虛線表示,用于區(qū)分其它存在的實(shí)際節(jié)點(diǎn)。給定一個(gè)測(cè)試實(shí)例x=<a1,a2,…,am>,它的分類公式為:
圖2 實(shí)例加權(quán)的隱樸素貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)圖
公式2中P(c)和P(ai|ahpi,c)的計(jì)算方式分別用公式3和公式4來(lái)計(jì)算:
公式3中q表示的是類標(biāo)記的個(gè)數(shù),n表示的是訓(xùn)練實(shí)力的個(gè)數(shù)。公式4中Wij表示的是其它屬性節(jié)點(diǎn)對(duì)該屬性節(jié)點(diǎn)產(chǎn)生的影響所占的權(quán)重。Wij的計(jì)算方式用公式5來(lái)計(jì)算:
公式5中Ip(Ai;Aj|c)表示的是屬性變量Ai和屬性變量Aj之間的條件相互信息,Ip(Ai;Aj|c)的計(jì)算公式為:
公式6中P(ai|c)和P(aj|c)以及條件概率P(ai,aj|c)的計(jì)算公式為:
其中ati表示第t個(gè)訓(xùn)練實(shí)例的第i個(gè)屬性值,ni表示的是第i個(gè)屬性值的個(gè)數(shù),ct表示的是第t個(gè)實(shí)例的類標(biāo)記,δ()是一個(gè)二值函數(shù),當(dāng)兩個(gè)變量相等時(shí)值為1,兩個(gè)變量不等時(shí)值為0。
在HNB模型中,它的每個(gè)隱藏的父親節(jié)點(diǎn)中都包含了其它所有屬性節(jié)點(diǎn)對(duì)該節(jié)點(diǎn)的影響。HNB避免了結(jié)構(gòu)學(xué)習(xí)的復(fù)雜性,但是它認(rèn)為每個(gè)實(shí)例對(duì)分類的影響是相同的。
實(shí)例加權(quán)的隱樸素貝葉斯IWHNB(Instance Weighted Hidden Naive Bayes)模型[15]通過(guò)對(duì)隱樸素貝葉斯算法進(jìn)行實(shí)例加權(quán),考慮不同實(shí)例對(duì)分類結(jié)果的影響也不同,對(duì)每個(gè)實(shí)例計(jì)算不同的權(quán)值,一定程度上提高了隱樸素貝葉斯算法的分類性能。假設(shè)用A1,A2,A3,A4來(lái)表示它的四個(gè)屬性節(jié)點(diǎn),則實(shí)例加權(quán)的隱樸素貝葉斯的結(jié)構(gòu)可以由圖2表示:
在圖3中,w1,w2,…,wn表示的是n個(gè)不同訓(xùn)練實(shí)例的權(quán)值。本文假設(shè)其屬性變量的個(gè)數(shù)為四個(gè),分別為A1,A2,A3,A4,虛線部分表示的是每個(gè)屬性節(jié)點(diǎn)對(duì)應(yīng)的隱藏的父親節(jié)點(diǎn),其隱藏父親節(jié)點(diǎn)的個(gè)數(shù)也是四個(gè),分別是Ahp1,Ahp2,Ahp3,Ahp4。該模型和隱樸素貝葉斯模型不同的是該模型在建模的過(guò)程中為每個(gè)實(shí)例都分配了不同的權(quán)值,再將實(shí)例的權(quán)值嵌入到分類器中,從而體現(xiàn)不同實(shí)例對(duì)分類結(jié)果的影響。本算法是在已有算法的基礎(chǔ)上進(jìn)行實(shí)例加權(quán),將實(shí)例加權(quán)與結(jié)構(gòu)擴(kuò)展方法相結(jié)合,有效提升了分類器的分類性能。
在實(shí)例加權(quán)的隱樸素貝葉斯模型中,給定一個(gè)測(cè)試實(shí)例x=<a1,a2,…,am>,它的分類公式為:
從公式10中可以看出,實(shí)例加權(quán)的隱樸素貝葉斯分類器的分類公式和隱樸素貝葉斯分類器的分類公式是相同的,但是在計(jì)算P(c)和P(ai|ahpi,c)概率時(shí)是不同的。這里是將實(shí)例的權(quán)重嵌入到隱藏的父親節(jié)點(diǎn)中,則它的先驗(yàn)概率P(c)可以重新定義為:
其中wt表示的是第t個(gè)訓(xùn)練實(shí)例的權(quán)值。條件概率P(ai|c)被重新定義為:
條件概率P(ai,aj|c)被重新定義為:
文章采用了一種基于屬性值頻率的方式來(lái)度量實(shí)力的權(quán)值。用fti表示屬性值ati(第t個(gè)實(shí)例的第i個(gè)屬性值)出現(xiàn)的頻率,wt表示第t個(gè)實(shí)例的權(quán)值。計(jì)算公式為:
其中<n1,n2,…,nm>表示屬性值的個(gè)數(shù)向量。
在本節(jié)中,采用了美國(guó)加州大學(xué)歐文分校(UCI)提供的機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)庫(kù)中選取的關(guān)于教育類的數(shù)據(jù)集,目前已有622個(gè)數(shù)據(jù)集,數(shù)目還在不斷增加,是目前常用的一個(gè)標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)集。[16]本文采用的是有關(guān)于學(xué)生成績(jī)預(yù)測(cè)的教育類數(shù)據(jù)集,對(duì)數(shù)據(jù)集進(jìn)行離散化處理、替換屬性缺失值、移除無(wú)用屬性等方法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將處理好的數(shù)據(jù)運(yùn)用實(shí)例加權(quán)的隱樸素貝葉斯模型進(jìn)行分類,同時(shí)選取了幾種經(jīng)典的改進(jìn)的貝葉斯模型來(lái)進(jìn)行對(duì)比分析。
該數(shù)據(jù)采集自葡萄牙學(xué)校兩所中學(xué)教育學(xué)生成績(jī)。該數(shù)據(jù)共有649個(gè)實(shí)例,33個(gè)屬性。數(shù)據(jù)集記錄的是學(xué)生葡萄牙語(yǔ)的成績(jī)。其中第二階段成績(jī)G2存在部分?jǐn)?shù)據(jù)缺失的情況,目標(biāo)屬性G3與屬性G2和G1具有很強(qiáng)的相關(guān)性。這是因?yàn)镚3是最終成績(jī),G1和G2對(duì)應(yīng)的是第一階段和第二階段的學(xué)生成績(jī)。給定的部分學(xué)生成績(jī)數(shù)據(jù)集如表1所示:
表1 部分學(xué)生成績(jī)數(shù)據(jù)集
預(yù)處理后的學(xué)生成績(jī)數(shù)據(jù)集如表2所示:
表2 預(yù)處理后的學(xué)生成績(jī)數(shù)據(jù)集
本文將學(xué)生成績(jī)分為五類:20 ≥成績(jī)≥16 時(shí)為A;15 ≥成績(jī)≥14 時(shí)為B;13 ≥成績(jī)≥12 時(shí)為C;10 ≥成績(jī)≥11時(shí)為D;0 ≥成績(jī)≥9 時(shí)為E。對(duì)應(yīng)的表格如表3所示:
表3 成績(jī)分類表
3.2.1 數(shù)據(jù)預(yù)處理
本文使用的數(shù)據(jù)集是從UCI 官網(wǎng)下載的有關(guān)教育方面的數(shù)據(jù)集,有649 個(gè)實(shí)例和33 個(gè)屬性。數(shù)據(jù)集為csv格式的數(shù)據(jù),不同屬性之間由分號(hào)分開。在處理數(shù)據(jù)時(shí)先將數(shù)據(jù)分成33個(gè)列。其中G3屬性為學(xué)生最終考試的成績(jī),因此本文根據(jù)G3列中的值和表3成績(jī)分類表來(lái)給每條數(shù)據(jù)打上標(biāo)記來(lái)替換G3列中的值,并將G3列名修改為Class,Class即為標(biāo)簽列。
預(yù)處理過(guò)程中,本研究使用了國(guó)際數(shù)據(jù)挖掘weka平臺(tái)。首先,由于本數(shù)據(jù)集的G2屬性所在的列存在缺失值,于是使用了weka平臺(tái)提供的無(wú)監(jiān)督過(guò)濾器Replace Missing Values 來(lái)替換缺失值,該方法是通過(guò)用缺失值所在列的平均值來(lái)對(duì)缺失值進(jìn)行替換。對(duì)于數(shù)據(jù)集中存在的無(wú)用的屬性,如:age屬性,本文使用了weka平臺(tái)提供的無(wú)監(jiān)督過(guò)濾器Remove 對(duì)其進(jìn)行刪除。數(shù)據(jù)集中還存在一些連續(xù)的數(shù)值型的屬性值,如:G1,G2 屬性,不利于文本的分類,因此要對(duì)其進(jìn)行離散化處理,本文采用了weka平臺(tái)提供的有監(jiān)督過(guò)濾器Discretize對(duì)數(shù)值型的數(shù)據(jù)進(jìn)行離散化處理,從而減弱極端值和異常值對(duì)數(shù)據(jù)的影響。
3.2.2 實(shí)例加權(quán)的隱樸素貝葉斯算法實(shí)現(xiàn)
在數(shù)據(jù)處理完畢后,在eclipse 開發(fā)環(huán)境中使用Java 語(yǔ)言對(duì)實(shí)例加權(quán)的隱樸素貝葉斯算法進(jìn)行復(fù)現(xiàn)。實(shí)現(xiàn)過(guò)程包括以下幾個(gè)步驟:
(1)計(jì)算屬性值頻率和實(shí)例權(quán)重。在實(shí)例加權(quán)的隱樸素貝葉斯算法中,首要任務(wù)是準(zhǔn)備數(shù)據(jù)并計(jì)算相關(guān)屬性的頻率。對(duì)于每個(gè)屬性,計(jì)算它在整個(gè)數(shù)據(jù)集中的出現(xiàn)頻率。這為后續(xù)的條件概率計(jì)算提供了基礎(chǔ)。同時(shí),本研究根據(jù)屬性值的頻率為每個(gè)實(shí)例計(jì)算一個(gè)權(quán)重。這些權(quán)重用于調(diào)整訓(xùn)練過(guò)程中實(shí)例的影響力,以確保模型更關(guān)注對(duì)分類起關(guān)鍵作用的實(shí)例。
(2)構(gòu)建一個(gè)條件概率表。條件概率表是實(shí)例加權(quán)隱樸素貝葉斯算法的核心組成部分。為了構(gòu)建這張表,本文從訓(xùn)練數(shù)據(jù)中計(jì)算每個(gè)屬性在不同類別條件下的條件概率,為每個(gè)屬性值計(jì)算在特定類別下的頻率。然后,這些頻率被轉(zhuǎn)化為條件概率,從而能夠在預(yù)測(cè)過(guò)程中根據(jù)屬性值進(jìn)行分類。為了防止概率為零的情況,本研究還應(yīng)用了拉普拉斯平滑技術(shù)。
(3)模型參數(shù)訓(xùn)練。模型參數(shù)的訓(xùn)練是使得算法能夠更好地預(yù)測(cè)新實(shí)例的關(guān)鍵步驟。本文根據(jù)計(jì)算得到的實(shí)例權(quán)重和條件概率進(jìn)行模型參數(shù)的訓(xùn)練。這些參數(shù)包括類別的先驗(yàn)概率以及每個(gè)屬性在不同類別條件下的條件概率。通過(guò)考慮權(quán)重和概率,能夠建立一個(gè)適應(yīng)不同實(shí)例特點(diǎn)的模型。
在預(yù)測(cè)階段,本文將訓(xùn)練得到的模型參數(shù)應(yīng)用于新的學(xué)生實(shí)例。對(duì)于一個(gè)新的實(shí)例,計(jì)算其屬于每個(gè)類別的概率,并選取具有最高概率的類別作為預(yù)測(cè)的學(xué)生成績(jī)類別。這個(gè)過(guò)程充分利用了模型參數(shù)和條件概率表,使得本研究能夠基于數(shù)據(jù)來(lái)進(jìn)行準(zhǔn)確的預(yù)測(cè)。
為了評(píng)估實(shí)例加權(quán)的隱樸素貝葉斯算法在學(xué)生成績(jī)預(yù)測(cè)方面的性能,本文使用了測(cè)試數(shù)據(jù)集。通過(guò)將模型應(yīng)用于測(cè)試數(shù)據(jù)集,可以計(jì)算出預(yù)測(cè)結(jié)果并與實(shí)際結(jié)果進(jìn)行比較。本文采用了準(zhǔn)確率、召回率、AUC指標(biāo)[17]以及F-score 指標(biāo)[18]等多種評(píng)估指標(biāo),從不同角度評(píng)估了模型的性能。這些指標(biāo)能夠揭示模型的分類效果、區(qū)分能力以及綜合性能,為本文提供了全面的性能評(píng)估。
3.2.3 實(shí)例加權(quán)隱樸素貝葉斯算法在學(xué)生成績(jī)預(yù)測(cè)中的應(yīng)用
從數(shù)據(jù)挖掘的角度來(lái)分析,學(xué)生成績(jī)預(yù)測(cè)實(shí)際上是一個(gè)分類問(wèn)題。類變量的取值有5個(gè):即“A”“B”“C”“D”“E”。數(shù)據(jù)集中的各種屬性就是影響學(xué)生成績(jī)的因素,屬性的取值不同,最終類標(biāo)記的取值也會(huì)受影響。
樸素貝葉斯網(wǎng)絡(luò)分類器在進(jìn)行文本分類時(shí)具有較好的分類效果。鑒于目前樸素貝葉斯在教育方面的應(yīng)用較少,本文將改進(jìn)的樸素貝葉斯算法應(yīng)用到教育數(shù)據(jù)集中,為廣大學(xué)者在處理教育數(shù)據(jù)集時(shí)提供了一個(gè)參考依據(jù)。
本文用準(zhǔn)確率、召回率、AUC指標(biāo)和F-score四個(gè)指標(biāo)來(lái)對(duì)模型進(jìn)行評(píng)估。其中表4為只對(duì)數(shù)據(jù)進(jìn)行離散化處理后的實(shí)驗(yàn)結(jié)果,表4為對(duì)數(shù)據(jù)進(jìn)行離散化處理、刪除無(wú)用屬性以及替換缺失值后的實(shí)驗(yàn)結(jié)果。
表4 離散化處理后實(shí)驗(yàn)結(jié)果
從表4 和表5 中可以看出,在經(jīng)過(guò)了無(wú)用屬性的刪除和缺失值的替換后,實(shí)驗(yàn)的準(zhǔn)確率、AUC 指標(biāo)和Fscore都有所提高,召回率相較于HNB算法略有降低。
表5 離散化處理、刪除無(wú)用屬性和替換缺失值后實(shí)驗(yàn)結(jié)果
圖4表示的是IWHNB算法和幾種改進(jìn)的樸素貝葉斯算法在教育數(shù)據(jù)集上對(duì)準(zhǔn)確率、召回率、AUC指標(biāo)[17]和F-score 指標(biāo)[18]進(jìn)行的對(duì)比。準(zhǔn)確率是模型正確預(yù)測(cè)為正類別的樣本數(shù)量占所有預(yù)測(cè)為正類別的樣本數(shù)量的比例,召回率是模型正確預(yù)測(cè)為正類別的樣本數(shù)量占實(shí)際正類別樣本數(shù)量的比例,AUC 是ROC 曲線下的面積,用來(lái)衡量模型區(qū)分正負(fù)類別的能力,F(xiàn)-score 綜合考慮了準(zhǔn)確率和召回率,是一個(gè)衡量模型綜合性能的指標(biāo)。
圖4 IWHNB算法準(zhǔn)確率、召回率、AUC和F-score指標(biāo)對(duì)比圖
從圖4中可以看出,IWHNB 和HNB 在準(zhǔn)確率方面表現(xiàn)最佳,均超過(guò)96.5%,說(shuō)明這兩個(gè)算法在將正類別樣本正確分類方面具有較高的能力。AODE和NB的準(zhǔn)確率也超過(guò)96%,而AVFW略低于96%。在召回率方面,HNB算法表現(xiàn)最好,達(dá)到96.90%,這意味著HNB在正確預(yù)測(cè)實(shí)際正類別樣本的能力上表現(xiàn)優(yōu)異。IWHNB和AODE的召回率也很高,達(dá)到96.60%。NB和AVFW的召回率稍低。在AUC指標(biāo)上,IWHNB和HNB在AUC上表現(xiàn)最佳,分別達(dá)到99.44%和99.42%。AODE和AVFW也具有很高的AUC值,分別為99.11%和99.04%,而NB 稍低。在F-score 指標(biāo)上,IWHNB 和AODE 的F-score 最高,分別為96.39%和96.00%。HNB、NB 和AVFW的F-score稍低。
綜合上述結(jié)果,IWHNB和HNB在多個(gè)指標(biāo)上表現(xiàn)出色,既有較高的準(zhǔn)確率和召回率,又具備優(yōu)越的AUC和F-score。AODE在召回率和AUC上也表現(xiàn)良好。NB的性能在各項(xiàng)指標(biāo)上均屬于中等水平,而AVFW在整體上稍遜。
在本研究中,針對(duì)學(xué)生期末成績(jī)預(yù)測(cè)過(guò)程中的問(wèn)題,本研究采用了實(shí)例加權(quán)的隱樸素貝葉斯算法對(duì)學(xué)生期末成績(jī)進(jìn)行預(yù)測(cè)。通過(guò)實(shí)驗(yàn)結(jié)果顯示,成功實(shí)現(xiàn)了對(duì)學(xué)生成績(jī)的高準(zhǔn)確率預(yù)測(cè)。本文選取了葡萄牙兩所中學(xué)的教育成績(jī)作為數(shù)據(jù)集,在數(shù)據(jù)預(yù)處理階段,本文有效地處理了缺失值,剔除了無(wú)用屬性,并對(duì)數(shù)值屬性進(jìn)行了離散化處理。這項(xiàng)研究不僅在預(yù)測(cè)準(zhǔn)確率方面取得了成功,還有助于減輕教師和學(xué)生的工作壓力,提高教學(xué)效率,實(shí)現(xiàn)針對(duì)性教學(xué)。本文特別采用了實(shí)例加權(quán)的隱樸素貝葉斯算法,相較于其他改進(jìn)的貝葉斯算法,表現(xiàn)出更高的預(yù)測(cè)準(zhǔn)確率。這一結(jié)果充分證明了本方法的可行性。在未來(lái)的研究中,將重點(diǎn)考慮與其他算法的對(duì)比實(shí)驗(yàn),以更全面地評(píng)估研究方法的性能。本研究為學(xué)生成績(jī)預(yù)測(cè)領(lǐng)域提供了有價(jià)值的見(jiàn)解,并為進(jìn)一步探索和優(yōu)化預(yù)測(cè)算法提供了方向。這項(xiàng)工作將有助于教育領(lǐng)域的決策制定和教學(xué)改進(jìn),也將為機(jī)器學(xué)習(xí)在教育中的應(yīng)用提供新的思路。
湖北第二師范學(xué)院學(xué)報(bào)2023年8期