薛夢(mèng)婷
(廣東外語(yǔ)外貿(mào)大學(xué),廣州510420)
信息化手段在高校管理中發(fā)揮著越來(lái)越重要的作用。與初中或高中頻繁的月考、期中考和期末考不同,大學(xué)的課程分?jǐn)?shù)評(píng)定大多是依賴于每學(xué)期的期末考試成績(jī)和平時(shí)成績(jī)的加權(quán)總和。若在唯一的一次期末考試中沒(méi)有取得較好的成績(jī),就會(huì)在極大程度上影響該生的總評(píng)分?jǐn)?shù)。為了避免由于平時(shí)對(duì)大學(xué)生松散管理而帶來(lái)的最終期末成績(jī)不理想的情況,本文提出一種提前預(yù)測(cè)學(xué)生課程總分的方法,根據(jù)該學(xué)生歷史學(xué)習(xí)成績(jī),以及多門(mén)學(xué)科的歷史學(xué)生成績(jī),對(duì)該學(xué)生的課程總分進(jìn)行預(yù)測(cè)。若預(yù)測(cè)出學(xué)生可能獲得的分?jǐn)?shù)較低,可提示輔導(dǎo)員或任課教師提前并重點(diǎn)關(guān)注該類(lèi)學(xué)生,做到提前干預(yù)和預(yù)警。同時(shí),提前關(guān)注學(xué)生成績(jī)動(dòng)向,也能及時(shí)反饋教師的教學(xué)方法是否需要做出調(diào)整,為改善教學(xué)管理提供有效依據(jù)。
相關(guān)文獻(xiàn)在預(yù)測(cè)學(xué)生成績(jī)方面已做出了積極的研究和探索。Dorina[1]使用四種數(shù)據(jù)挖掘算法對(duì)學(xué)生成績(jī)進(jìn)行分類(lèi),其中使用神經(jīng)網(wǎng)絡(luò)模型得到的預(yù)測(cè)效果最好;何楚等人[2]提出基于頻繁模式譜聚類(lèi)的關(guān)聯(lián)分類(lèi)模型,用于預(yù)測(cè)學(xué)生可能不及格的科目,但是該方法還存在漏檢、錯(cuò)檢的問(wèn)題;于立紅等人[3]使用關(guān)聯(lián)規(guī)則方法,通過(guò)分析專(zhuān)業(yè)基礎(chǔ)課和專(zhuān)業(yè)課成績(jī)之間的相互關(guān)系,從而預(yù)測(cè)學(xué)生成績(jī)所屬的分類(lèi);武彤等人[4]利用數(shù)據(jù)挖掘中的決策樹(shù)算法,結(jié)合學(xué)生個(gè)人學(xué)習(xí)信息和性別信息,為成績(jī)預(yù)測(cè)分析建模,得到了較好的預(yù)測(cè)準(zhǔn)確率;崔仁桀[5]將C4.5 決策樹(shù)算法應(yīng)用于建立本科生專(zhuān)業(yè)學(xué)習(xí)表現(xiàn)模型,并對(duì)其進(jìn)行剪枝優(yōu)化,從而預(yù)測(cè)學(xué)生未來(lái)成績(jī),但是該研究的數(shù)據(jù)集數(shù)量過(guò)小,很難反映出由于出勤率、教師授課質(zhì)量等因素對(duì)成績(jī)帶來(lái)的影響。
本文從一個(gè)全新的角度出發(fā),另辟蹊徑,使用基于鄰域的協(xié)同過(guò)濾推薦算法的思想,并將其應(yīng)用在學(xué)生成績(jī)預(yù)測(cè)領(lǐng)域,得到了較好的預(yù)測(cè)效果。
本算法利用已有用戶評(píng)分的項(xiàng)目來(lái)計(jì)算用戶與用戶之間的相似度,找到與目標(biāo)用戶1 最相似的N 個(gè)用戶,然后計(jì)算N 個(gè)用戶有評(píng)分但用戶1 并未接觸過(guò)項(xiàng)目的評(píng)分,并將得分最高的項(xiàng)目推薦給用戶1。
類(lèi)似地,我們將這種思想用于預(yù)測(cè)學(xué)生成績(jī)。假設(shè)要預(yù)測(cè)學(xué)生A 未來(lái)在某目標(biāo)課程中可能獲得的成績(jī),先計(jì)算與學(xué)生A 歷史得分軌跡最相似的N 個(gè)學(xué)生,且已有這N 個(gè)學(xué)生在目標(biāo)課程中的成績(jī),然后根據(jù)學(xué)生A 和他們之間的相似度,以及相似度最高的N 個(gè)學(xué)生在目標(biāo)課程中的分?jǐn)?shù),預(yù)測(cè)學(xué)生A 在目標(biāo)課程的分?jǐn)?shù)。
計(jì)算任意兩個(gè)學(xué)生A、B 之間的相似度,可以使用以下3 種方式:
(1)基于用戶的余弦相似度
其中,A→和B→分別表示由學(xué)生A 和學(xué)生B 的歷史分?jǐn)?shù)組成的向量。
(2)基于用戶皮爾森相關(guān)系數(shù)的相似度
其中,課程I 表示所有課程的集合,i 表示任意一門(mén)課程,scoreA,i表示學(xué)生A 的課程i 成績(jī),表示學(xué)生A 的全部課程平均分。
(3)基于用戶的均方差相似度
其中,IAB表示學(xué)生A 和B 共同有成績(jī)的課程集合,|IAB|表示學(xué)生A 和B 共同有成績(jī)的課程總數(shù)量。當(dāng)公式(3)值越小,表示學(xué)生A 和B 的相似度越大。為了表現(xiàn)分?jǐn)?shù)越相似其相似度值就越大,本文使用公式(4)來(lái)做相似度轉(zhuǎn)換。
最后,根據(jù)與學(xué)生A 分?jǐn)?shù)軌跡最相似的N 個(gè)學(xué)生,計(jì)算學(xué)生A 在目標(biāo)課程i 的預(yù)測(cè)分?jǐn)?shù):
本算法利用已有用戶評(píng)分的項(xiàng)目來(lái)計(jì)算項(xiàng)目與項(xiàng)目之間的相似度,找到每個(gè)項(xiàng)目最相似的N 個(gè)項(xiàng)目,然后計(jì)算目標(biāo)用戶并未接觸過(guò)項(xiàng)目的評(píng)分,并將得分最高的項(xiàng)目推薦給目標(biāo)用戶。
類(lèi)似地,我們將這種思想用于預(yù)測(cè)學(xué)生成績(jī)。假設(shè)我們要預(yù)測(cè)學(xué)生A 未來(lái)在某目標(biāo)課程中可能獲得的成績(jī),對(duì)于學(xué)生A 有成績(jī)的課程,先計(jì)算其與某目標(biāo)課程i 歷史得分軌跡最相似的N 門(mén)課程。然后,根據(jù)學(xué)生A 在這N 門(mén)課程中的分?jǐn)?shù),和課程i 和N 門(mén)課程之間的相似度,來(lái)預(yù)測(cè)學(xué)生A 在目標(biāo)課程i 的成績(jī)。
計(jì)算任意兩門(mén)課程i、j 之間的相似度,可以使用以下3 種方式:
(1)基于項(xiàng)目的余弦相似度
(2)基于項(xiàng)目皮爾森相關(guān)系數(shù)的相似度
其中,課程U 表示所有既有課程i 又有課程j 成績(jī)的學(xué)生集合,u 表示任意一個(gè)學(xué)生,scoreu,i表示學(xué)生u的課程i 成績(jī),- -- -----scorei表示課程i 的平均分。
(3)基于項(xiàng)目的均方差相似度
其中,Uij表示共同有課程i 和j 成績(jī)的學(xué)生集合,|Uij|表示共有課程i 和j 成績(jī)的學(xué)生總數(shù)量。
最后,根據(jù)與課程i 分?jǐn)?shù)軌跡最相似的N 門(mén)課程,計(jì)算學(xué)生A 在目標(biāo)課程i 的預(yù)測(cè)分?jǐn)?shù):
實(shí)驗(yàn)所使用的數(shù)據(jù)集來(lái)自廣東某高校2011 年至2018 年期間英語(yǔ)語(yǔ)言文化學(xué)院的學(xué)生成績(jī)數(shù)據(jù)。實(shí)驗(yàn)?zāi)繕?biāo)是通過(guò)本實(shí)驗(yàn)提出的方法對(duì)學(xué)生成績(jī)進(jìn)行預(yù)測(cè),從而達(dá)到學(xué)生學(xué)業(yè)預(yù)警和教學(xué)輔助的目的,給高校管理者和教師提供決策支持,并提升教學(xué)質(zhì)量。
本文采用的數(shù)據(jù)集是來(lái)自4218 名學(xué)生在186 門(mén)課程的102805 條成績(jī)數(shù)據(jù)。由于學(xué)生成績(jī)數(shù)據(jù)本身存在缺失值、重復(fù)值、無(wú)效值等問(wèn)題,因此對(duì)成績(jī)數(shù)據(jù)進(jìn)行簡(jiǎn)單的預(yù)處理:
(1)刪除缺失分?jǐn)?shù)的無(wú)效記錄;
(2)若同一學(xué)生在某一相同課程有超過(guò)一條數(shù)據(jù)記錄,且分?jǐn)?shù)相同,則刪除重復(fù)記錄,僅保留一條成績(jī)記錄;
(3)若同一學(xué)生在某一相同課程有超過(guò)一條數(shù)據(jù)記錄,但分?jǐn)?shù)不相同,則刪除該生全部該課程的成績(jī)記錄;
(4)刪除全部成績(jī)?yōu)? 的數(shù)據(jù)。
本實(shí)驗(yàn)采用五折交叉驗(yàn)證的方法對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行驗(yàn)證,隨機(jī)抽取訓(xùn)練集和測(cè)試集的成績(jī)數(shù)據(jù),總數(shù)據(jù)量比例為8:2,最后將五次實(shí)驗(yàn)結(jié)果取平均,以保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性。
(1)均方根誤差(RMSE)
RMSE 可以衡量真實(shí)成績(jī)與預(yù)測(cè)分?jǐn)?shù)值之間的偏差,具體的計(jì)算公式如下:
其中,scorep表示學(xué)生在該門(mén)課程的預(yù)測(cè)分?jǐn)?shù),scorea為學(xué)生在該門(mén)課程獲得的真實(shí)分?jǐn)?shù)。N 為測(cè)試集中全部的學(xué)生人數(shù)。RMSE 值越小,表示預(yù)測(cè)效果越好。
(2)平均絕對(duì)誤差(MAE)
MAE 可以更好地衡量預(yù)測(cè)成績(jī)的誤差情況。MAE 值越小,表示預(yù)測(cè)結(jié)果越準(zhǔn)確。
(3)準(zhǔn)確率(Accuracy)
除了均方根誤差之外,本文還使用準(zhǔn)確性指標(biāo)來(lái)度量預(yù)測(cè)結(jié)果的好壞,具體的計(jì)算公式如下:
其中,T[-3,+3]表示學(xué)生在該門(mén)課程的預(yù)測(cè)分?jǐn)?shù)和真實(shí)成績(jī)的差值在該區(qū)間范圍之內(nèi)的次數(shù)。
如圖1、圖2 和圖3 所示,不論是使用準(zhǔn)確率,還是均方根誤差和平均絕對(duì)誤差作為評(píng)價(jià)指標(biāo),效果最好的都是基于項(xiàng)目均方差相似度的協(xié)同過(guò)濾算法。筆者認(rèn)為,均方差相似度是尋找與目標(biāo)課程難易程度最相似的N 個(gè)課程,即課程平均分?jǐn)?shù)情況類(lèi)似的課程。當(dāng)兩門(mén)課程的學(xué)生平均分非常接近時(shí),計(jì)算出來(lái)的均方誤差相似度很大,預(yù)測(cè)會(huì)相對(duì)準(zhǔn)確;反之,在基于皮爾森相關(guān)系數(shù)相似度的計(jì)算中,由于(scoreu,i-- -- -----scorei)的值減去了課程的平均分,雖然兩門(mén)課程可能平均分差異較大,但若二者分?jǐn)?shù)跨度分布較為一致,即使課程的難易程度不同,相似度卻也可能很大,而這就給預(yù)測(cè)分?jǐn)?shù)造成了一定的干擾,導(dǎo)致最終預(yù)測(cè)的效果不夠理想。
圖1 基于協(xié)同過(guò)濾算法預(yù)測(cè)分?jǐn)?shù)的準(zhǔn)確率
圖2 基于協(xié)同過(guò)濾算法預(yù)測(cè)分?jǐn)?shù)的RMSE
圖3 基于協(xié)同過(guò)濾算法預(yù)測(cè)分?jǐn)?shù)的MAE
另外,基于項(xiàng)目的協(xié)同過(guò)濾算法效果要明顯優(yōu)于基于用戶的協(xié)同過(guò)濾算法。已知學(xué)生數(shù)量多,即課程分?jǐn)?shù)多,而課程門(mén)數(shù)相對(duì)較少,也就是說(shuō),每年固定開(kāi)課的課程擁有較多的成績(jī)數(shù)據(jù),而每個(gè)學(xué)生能夠擁有的課程成績(jī)數(shù)量遠(yuǎn)遠(yuǎn)不及課程擁有的分?jǐn)?shù)數(shù)據(jù)量大,因而在計(jì)算相似度時(shí),基于項(xiàng)目的算法可以使用更多的數(shù)據(jù)用于訓(xùn)練,因而預(yù)測(cè)效果會(huì)更好。
最后,當(dāng)N 值為8 時(shí),所得出的RMSE 和MAE 值最小,當(dāng)N 值為10 時(shí),所得出的預(yù)測(cè)準(zhǔn)確率最高。這表明過(guò)少的鄰域不能夠完整反映課程的分?jǐn)?shù)特征,而過(guò)多的鄰域又會(huì)分散預(yù)測(cè)結(jié)果的可取值范圍,使得預(yù)測(cè)的難度變大。
本文將傳統(tǒng)的協(xié)同過(guò)濾推薦算法應(yīng)用于學(xué)生成績(jī)預(yù)測(cè)領(lǐng)域,對(duì)比和分析了多種協(xié)同過(guò)濾預(yù)測(cè)方法,最終發(fā)現(xiàn)基于項(xiàng)目均方誤差相似度的協(xié)同過(guò)濾算法效果最好。但本文實(shí)驗(yàn)的結(jié)果還不夠理想,下一步筆者將考慮使用更多不同的方式來(lái)進(jìn)行成績(jī)預(yù)測(cè)分析。