商惠華 戴匯川
摘要:為了協(xié)助教師改善教學(xué)效果,提高教學(xué)質(zhì)量,選取計(jì)算機(jī)應(yīng)用基礎(chǔ)課程的在線學(xué)習(xí)成績(jī)?yōu)榛A(chǔ)數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、模型構(gòu)建并進(jìn)行數(shù)據(jù)預(yù)測(cè)等步驟,運(yùn)用Logistic回歸、K最近鄰分類算法、分類決策樹(shù)、樸素貝葉斯、梯度提升分類樹(shù)、隨機(jī)森林分類6種經(jīng)典的機(jī)器學(xué)習(xí)算法分別構(gòu)建模型,對(duì)學(xué)生期末成績(jī)進(jìn)行預(yù)測(cè)。通過(guò)對(duì)比真實(shí)結(jié)果,最后驗(yàn)證LogisticRegression模型最優(yōu)。運(yùn)用該模型可對(duì)此類課程的學(xué)生學(xué)業(yè)成績(jī)進(jìn)行預(yù)警,進(jìn)而指導(dǎo)教學(xué)的提前重點(diǎn)關(guān)注和干預(yù)。
關(guān)鍵詞:在線學(xué)習(xí)成績(jī);數(shù)據(jù)分析;機(jī)器學(xué)習(xí)算法;成績(jī)預(yù)測(cè);學(xué)業(yè)預(yù)警
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)14-0022-03
1 引言
大數(shù)據(jù)時(shí)代,數(shù)據(jù)分析的應(yīng)用已經(jīng)在各個(gè)領(lǐng)域展現(xiàn)出卓越的價(jià)值。數(shù)據(jù)分析在教育領(lǐng)域的應(yīng)用從不同角度提高了教育教學(xué)質(zhì)量。如今的大學(xué)教育已不再局限于傳統(tǒng)的教學(xué)模式,以翻轉(zhuǎn)課堂為例,將學(xué)習(xí)知識(shí)的主動(dòng)權(quán)交還學(xué)生,教師將知識(shí)課前傳遞,以引導(dǎo)為主。在課程教學(xué)的過(guò)程中,將數(shù)據(jù)分析的應(yīng)用貫穿其中,從平時(shí)成績(jī)分析中預(yù)測(cè)學(xué)生的總平時(shí)成績(jī)和期末考試成績(jī),根據(jù)預(yù)測(cè)結(jié)果,產(chǎn)生預(yù)警信息,教師進(jìn)行提前干預(yù)與重點(diǎn)輔導(dǎo)[1],為下一步教師的教和學(xué)生的學(xué)提供指導(dǎo)。
2 研究思路與流程
研究思路主要流程主要包括5個(gè)步驟:數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、建模與預(yù)測(cè)、模型評(píng)價(jià)與選取、模型的應(yīng)用與部署[2]。如圖1所示。
1)數(shù)據(jù)獲?。菏菙?shù)據(jù)分析的工作基礎(chǔ),數(shù)據(jù)獲取主要通過(guò)兩種方式:本地?cái)?shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù),本研究采用本地?cái)?shù)據(jù)。
2)數(shù)據(jù)預(yù)處理:是指對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)合并、數(shù)據(jù)清洗、數(shù)據(jù)的標(biāo)準(zhǔn)化等,滿足后續(xù)建模分析的需要[3]。
3)訓(xùn)練模型與預(yù)測(cè):通過(guò)聚類模型、分類模型、回歸模型等模型與算法構(gòu)建模型,對(duì)數(shù)據(jù)進(jìn)行分析,并進(jìn)行數(shù)據(jù)的預(yù)測(cè)。
4)模型的評(píng)價(jià)與優(yōu)化:是根據(jù)模型的類別,使用不同的指標(biāo)評(píng)價(jià)其性能優(yōu)劣的過(guò)程。常用的聚類模型的評(píng)價(jià)指標(biāo)有AMI評(píng)價(jià)法、FMI評(píng)價(jià)法、ARI評(píng)價(jià)法等。常用分類模型評(píng)價(jià)指標(biāo)有Accuracy(準(zhǔn)確率)、Precision(精確率)、Recall(召回率)、F1 Value(F1值)等。常用的回歸模型評(píng)價(jià)指標(biāo)有平均絕對(duì)誤差、均方差、中值絕對(duì)誤差等。通過(guò)對(duì)比,選取評(píng)價(jià)指標(biāo)最好的模型。
5)模型的應(yīng)用與部署:是指將數(shù)據(jù)分析結(jié)果與結(jié)論應(yīng)用于實(shí)際的教學(xué)過(guò)程中,進(jìn)行學(xué)業(yè)預(yù)警。
3 研究設(shè)計(jì)
3.1 數(shù)據(jù)采集及研究對(duì)象
選取某師范學(xué)院2021~2022學(xué)年度第2學(xué)期期末的計(jì)算機(jī)應(yīng)用基礎(chǔ)考試成績(jī)?yōu)檠芯繑?shù)據(jù)。計(jì)算機(jī)應(yīng)用基礎(chǔ)是該校必修的公共課,在大一的第一學(xué)期開(kāi)設(shè),課程的平時(shí)成績(jī)依托超星網(wǎng)絡(luò)平臺(tái)運(yùn)行,采用翻轉(zhuǎn)課堂的方式教學(xué),共32學(xué)時(shí),其中16學(xué)時(shí)為線上學(xué)習(xí)時(shí)間,16學(xué)時(shí)為重點(diǎn)內(nèi)容講解及答疑時(shí)間。數(shù)據(jù)的樣本總量為3933條數(shù)據(jù),即3933個(gè)學(xué)生的平時(shí)成績(jī)記錄及考試成績(jī)記錄。學(xué)生的平時(shí)成績(jī)和考試成績(jī)均采用百分制,最終的期末總評(píng)成績(jī)?yōu)槠綍r(shí)成績(jī)和期末考試成績(jī)各占50%。
研究數(shù)據(jù)的讀取與分析過(guò)程均在Jupyter notebook環(huán)境中完成,使用Python編程語(yǔ)言,研究目的將主要圍繞三個(gè)問(wèn)題展開(kāi)[4]:
1)在線平時(shí)成績(jī)數(shù)據(jù)選項(xiàng)中,哪些選項(xiàng)對(duì)學(xué)生之間的差距影響大,哪些影響不大?
2)依據(jù)在線平時(shí)成績(jī),用哪種分析方法可相對(duì)準(zhǔn)確地判斷期末考試成績(jī)的及格狀況?
3)依據(jù)在線平時(shí)成績(jī),如何在期末考試前對(duì)學(xué)業(yè)預(yù)警?
3.2 研究算法
采用多種數(shù)據(jù)分析方法進(jìn)行建模,并將模型的評(píng)價(jià)結(jié)果進(jìn)行對(duì)比分析,選取最佳模型對(duì)學(xué)生的平時(shí)成績(jī)進(jìn)行預(yù)測(cè)。為教與學(xué)分別提供指導(dǎo)意見(jiàn)。文中的算法均使用sklearn下的模塊。
1)logistic回歸
logistic回歸分類的主要思想是根據(jù)現(xiàn)有數(shù)據(jù)對(duì)分類邊界線建立回歸公式,以此進(jìn)行分類。訓(xùn)練分類器時(shí)的做法及時(shí)尋找最佳擬合參數(shù),使用的是最優(yōu)化算法。目標(biāo)函數(shù)應(yīng)該能接受所有的輸入,預(yù)測(cè)出類別。在兩個(gè)類的情況下,函數(shù)輸出0和1,該函數(shù)就是二值型輸出分類器的sigmoid函數(shù)[5]:
此文中數(shù)據(jù)分析應(yīng)用模塊linear_model下的LogisticRegression函數(shù)。
2)KNN(K最近鄰分類)算法
KNN算法的思想是:如果一個(gè)樣本在特征空間中的K個(gè)最相鄰的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別,并具有這個(gè)類別上樣本的特征。該方法在確定分類決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類別來(lái)決定待分樣本所屬的類別[1],比較適合對(duì)于類域的交叉或重疊較多的待分類樣本集。
此文中數(shù)據(jù)分析應(yīng)用模塊neighbors的KNeighborsClassifier函數(shù)。
3)分類決策樹(shù)
決策樹(shù)是一種樹(shù)形結(jié)構(gòu)預(yù)測(cè)模型,表示基于特征對(duì)實(shí)例進(jìn)行分類的過(guò)程。構(gòu)造決策樹(shù)的首要問(wèn)題是當(dāng)前數(shù)據(jù)集上哪個(gè)特征在劃分?jǐn)?shù)據(jù)分類時(shí)起決定性作用。為了找到?jīng)Q定性的特征,劃分出最好的結(jié)果,必須評(píng)估每個(gè)特征。完成測(cè)試之后,原始數(shù)據(jù)集就被劃分為幾個(gè)數(shù)據(jù)子集。這些數(shù)據(jù)子集分布在第一個(gè)決策點(diǎn)的所有分支上。再根據(jù)某個(gè)分支下的數(shù)據(jù)屬于同一類型,無(wú)須進(jìn)一步對(duì)數(shù)據(jù)集進(jìn)行分割。如果數(shù)據(jù)子集內(nèi)的數(shù)據(jù)不屬于同一類型,則需要重復(fù)劃分?jǐn)?shù)據(jù)子集的過(guò)程。直到所有具有相同類型的數(shù)據(jù)均在一個(gè)數(shù)據(jù)子集內(nèi)[6]。決策樹(shù)算法很多,例如:ID3、C4.5、CART等。
此文中數(shù)據(jù)分析應(yīng)用模塊tree的 DecisionTreeClassifier函數(shù)。
4)樸素貝葉斯
貝葉斯決策理論以概率為基礎(chǔ)的,樸素貝葉斯分類是貝葉斯決策理論的一部分,思想是基于條件概率的:對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,哪個(gè)概率值大,則該分類項(xiàng)屬于哪一類。F8016F3D-6810-4DD3-B089-F442405FF70C
此文中數(shù)據(jù)分析應(yīng)用模塊naive_bayes下的GaussianNB函數(shù)。
5)梯度提升分類樹(shù)
梯度提升分類樹(shù)是一種迭代的決策樹(shù)算法,由多棵決策樹(shù)組成,所有樹(shù)的結(jié)論累加起來(lái)做最終答案。關(guān)鍵是利用損失函數(shù)的負(fù)梯度在當(dāng)前模型的值作為回歸問(wèn)題提升樹(shù)算法中的殘差的近似值,擬合一個(gè)回歸樹(shù)[6]。
此文中數(shù)據(jù)分析應(yīng)用模塊ensemble下的GradientBoostingClassifier函數(shù)。
6)隨機(jī)森林分類
隨機(jī)森林分類是決策樹(shù)的組合,每棵決策樹(shù)都通過(guò)對(duì)原始數(shù)據(jù)集中隨機(jī)生成新的數(shù)據(jù)集來(lái)訓(xùn)練生成,隨機(jī)森林分類的結(jié)果是多數(shù)決策樹(shù)決策的結(jié)果。
此文中數(shù)據(jù)分析應(yīng)用模塊ensemble下的RandomForestClassifier函數(shù)。
4 數(shù)據(jù)分析過(guò)程
4.1 數(shù)據(jù)的讀取及變量的選取
將3933條學(xué)生的平時(shí)成績(jī)和考試成績(jī)整理到一張EXCEL表中,用Pandas模塊的read_excel函數(shù)將數(shù)據(jù)讀出。學(xué)生的平時(shí)成績(jī)包括課程音視頻、章節(jié)測(cè)驗(yàn)、章節(jié)學(xué)習(xí)次數(shù)、討論、作業(yè)、測(cè)試考試、簽到、課程互動(dòng),共8項(xiàng)。
4.2 數(shù)據(jù)預(yù)處理
首先,查詢成績(jī)表中平時(shí)總成績(jī)?yōu)橐晃粩?shù)(即不足10分)的記錄,直接刪除。這些記錄存在重修免聽(tīng)課等特殊情況。
其次,尋找數(shù)據(jù)差異最大的選項(xiàng)。平時(shí)成績(jī)均相同的計(jì)量單位,采用方差來(lái)統(tǒng)計(jì)各項(xiàng)平均值的離散程度,得出對(duì)平時(shí)成績(jī)影響最大的幾個(gè)選項(xiàng)。結(jié)論如表1所示,分別為測(cè)試考試、作業(yè)、章節(jié)測(cè)試三項(xiàng)。該三列的數(shù)據(jù),在后面的數(shù)據(jù)分析中重點(diǎn)選取。
4.3 訓(xùn)練集和測(cè)試集的劃分
sklearn庫(kù)集合了多種機(jī)器學(xué)習(xí)算法,在數(shù)據(jù)分析過(guò)程中快速建立模型,且模型接口統(tǒng)一,使用起來(lái)非常方便。此研究中,在數(shù)據(jù)集的劃分上使用model_selection模型選擇模塊,將傳入的數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集[2],使用train_test_split函數(shù),其中test_size參數(shù)值取0.3。
4.4 對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化的預(yù)處理
平時(shí)成績(jī)的各項(xiàng)的百分比占比不同,為消除特征之間取值范圍差異可能造成的影響,對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,此處采用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化的方法。使用sklearn庫(kù)的preprocessing數(shù)據(jù)預(yù)處理模塊的StandardScaler函數(shù)。
基礎(chǔ)代碼為:
from sklearn.preprocessing import? StandardScaler
sca = StandardScaler().fit(data_train)
sca_train = sca.transform(data_train)
sca_test = sca.transform(data_test)
4.5 模型的構(gòu)建與預(yù)測(cè)
構(gòu)建模型與預(yù)測(cè)的目的是根據(jù)學(xué)生的平時(shí)成績(jī),對(duì)最后的期末考試成績(jī)做出預(yù)測(cè),將期末考試成績(jī)根據(jù)是否及格分別備注為1和0(1表示及格,0表示不及格)。根據(jù)預(yù)測(cè)類型,構(gòu)建模型為分類模型。
構(gòu)建了幾種分類模型,進(jìn)行預(yù)測(cè),并分別給出了相應(yīng)的評(píng)價(jià)指標(biāo)對(duì)預(yù)測(cè)模型的性能進(jìn)行評(píng)價(jià),這些指標(biāo)主要包括精確率(Pricision),準(zhǔn)確性(Accuracy),召回率(Recall)和F1值(f1-score)。以下以邏輯斯蒂回歸算法為例:
利用sklearn庫(kù)的linear_model模塊LogisticRegression函數(shù),建立模型,如圖2所示,預(yù)測(cè)訓(xùn)練集的結(jié)果(取前50個(gè)),如圖3所示。
基本代碼如下:
from sklearn.linear_model import? LogisticRegression
log = LogisticRegression().fit(sca_train,target_train)
print('建立的linear_model模型:\n',log)
#預(yù)測(cè)結(jié)果
sca_target_pred_log = log.predict(sca_test)
print('預(yù)測(cè)的前50個(gè)結(jié)果為:\n ',sca_target_pred_log[:50])
4.6 評(píng)價(jià)指標(biāo)的選取
為了有效判斷一個(gè)預(yù)測(cè)模型的性能表現(xiàn),需要結(jié)合真實(shí)值計(jì)算出準(zhǔn)確率、精確率、召回率、F1值等指標(biāo)來(lái)衡量。以LogisticRegression模型為例,利用sklearn庫(kù)的metrics模塊中的accuracy_score,precision_score,recall_score,f1_score幾個(gè)函數(shù),代碼及運(yùn)行的結(jié)果如圖4所示,幾種評(píng)價(jià)指標(biāo)都比較接近最佳值1.0,該模型效果較好。
4.7 模型的結(jié)果對(duì)比分析
用類似的方法,又構(gòu)建了其他的幾種模型,并分別通過(guò)評(píng)價(jià)系數(shù)進(jìn)行對(duì)比,找出最優(yōu)的模型。各模型的評(píng)價(jià)指標(biāo)對(duì)比分析如表2所示。
通過(guò)各種模型的評(píng)價(jià)指標(biāo)的對(duì)比,可以分析得出, LogisticRegression模型最優(yōu),隨機(jī)森林分類也較好,各項(xiàng)系數(shù)也接近于1.0。
根據(jù)分類模型和評(píng)價(jià)參數(shù),教師可以根據(jù)學(xué)生在臨近學(xué)期末的學(xué)習(xí)成績(jī)進(jìn)行預(yù)測(cè),對(duì)可能期末成績(jī)低于60分的同學(xué)進(jìn)行提前干預(yù),給予這部分同學(xué)個(gè)別的知識(shí)輔導(dǎo)或提醒,并督促這部分同學(xué)抓緊學(xué)習(xí),可實(shí)現(xiàn)基于在線平時(shí)成績(jī)的期末總評(píng)成績(jī)的提前預(yù)警。
5 結(jié)束語(yǔ)
以大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)課程為例,對(duì)依據(jù)超星學(xué)習(xí)平臺(tái)的在線學(xué)習(xí)平時(shí)成績(jī)的數(shù)據(jù)對(duì)影響學(xué)生期末總評(píng)成績(jī)進(jìn)行了具體分析,主要解決了三個(gè)具體問(wèn)題:F8016F3D-6810-4DD3-B089-F442405FF70C
1)在線學(xué)習(xí)平時(shí)成績(jī)的8項(xiàng)數(shù)據(jù)中,通過(guò)分析可得出,學(xué)生相差比較大的選項(xiàng)是測(cè)試考試、作業(yè)、章節(jié)測(cè)試三項(xiàng),其他選項(xiàng)相差不大。在針對(duì)學(xué)生的個(gè)別預(yù)警中要重點(diǎn)關(guān)注。
2)在多種模型的應(yīng)用中,通過(guò)對(duì)比各種模型的評(píng)價(jià)指標(biāo),可以分析出Logistic Regression模型最優(yōu),隨機(jī)森林分類也較好。針對(duì)類似的成績(jī)分析,可采用這兩種模型來(lái)分析和預(yù)測(cè)。
3)應(yīng)用上述的兩種模型,依據(jù)在線的平時(shí)成績(jī)各選項(xiàng)的預(yù)測(cè),教師可進(jìn)行過(guò)程管控、預(yù)警,進(jìn)而重點(diǎn)關(guān)注,教學(xué)干預(yù)[7]。
大數(shù)據(jù)時(shí)代,教師作為信息化教學(xué)的主導(dǎo)者和實(shí)施者,為了更好地了解課程、教學(xué)及學(xué)生學(xué)習(xí)等狀況[8],除應(yīng)用現(xiàn)代化的教學(xué)方式外,應(yīng)用現(xiàn)代化的技術(shù)和工具對(duì)教育數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)其規(guī)律并為教學(xué)提供幫助,將有利于教學(xué)質(zhì)量的進(jìn)一步提高。
參考文獻(xiàn):
[1] 喻佳,白舒伊,吳丹新.基于機(jī)器學(xué)習(xí)的在線教學(xué)學(xué)生成績(jī)預(yù)測(cè)研究[J].電腦編程技巧與維護(hù),2021(8):118-119,154.
[2] 黃紅梅,張良均.Python數(shù)據(jù)分析與應(yīng)用[M].北京:人民郵電出版社,2018.
[3] 張運(yùn)玉.基于Python的數(shù)據(jù)分析的研究[J].電腦知識(shí)與技術(shù),2019,15(30):3-4.
[4] 熊思燦,農(nóng)瑩.在線學(xué)習(xí)數(shù)據(jù)與學(xué)生學(xué)習(xí)成績(jī)的相關(guān)性分析——以大學(xué)概率論課程為例[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,46(11):84-89.
[5] 柳毅.Python數(shù)據(jù)分析與實(shí)踐[M].北京:清華大學(xué)出版社,2019:249-255.
[6] 石勝飛.大數(shù)據(jù)分析與挖掘[M].北京:人民郵電出版社,2018.
[7] 宋丹,劉洞波,豐霞.基于多源數(shù)據(jù)分析的課程成績(jī)預(yù)測(cè)與課程預(yù)警研究[J].高等工程教育研究,2020(1):189-194.
[8] 彭煥卜,謝志昆.基于Python的學(xué)習(xí)者基本數(shù)據(jù)分析與可視化研究[J].中國(guó)教育信息化,2021(15):60-64.
收稿日期:2022-03-09
基金項(xiàng)目:潮州市科技計(jì)劃項(xiàng)目(項(xiàng)目編號(hào):2019ZC12);韓山師范學(xué)院科研項(xiàng)目-理科(項(xiàng)目編號(hào):XN201924)
作者簡(jiǎn)介:商惠華(1978—),女,河北滄州人,講師,碩士,主要研究方向?yàn)閿?shù)據(jù)分析、計(jì)算機(jī)軟件與理論;戴匯川(1977—),男,湖北黃岡人,高級(jí)工程師,博士,主要研究方向?yàn)楝F(xiàn)代質(zhì)量管理、物流信息技術(shù)。F8016F3D-6810-4DD3-B089-F442405FF70C