崔園
(成都醫(yī)學(xué)院大健康與智能工程學(xué)院醫(yī)學(xué)信息工程教研室,成都 610500)
在課程教學(xué)中引入前沿的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),對傳統(tǒng)的課堂教學(xué)方式進(jìn)行改革,將學(xué)生在課堂上被動地接受知識轉(zhuǎn)變?yōu)閷W(xué)生能夠積極主動地進(jìn)行個性化、高效率的學(xué)習(xí),在課程教學(xué)改革中如何提高教學(xué)效果,如何有效改善課程教學(xué)現(xiàn)狀是當(dāng)前一個重要的研究方向。
目前關(guān)于網(wǎng)絡(luò)教學(xué)平臺的相關(guān)研究表明,學(xué)習(xí)效果與訪問次數(shù)、在線學(xué)習(xí)時(shí)間和線上討論次數(shù)是有相關(guān)性的[1];含有微課視頻服務(wù)的教學(xué)平臺,為學(xué)生進(jìn)行課后線上學(xué)習(xí)提供了新途徑,也對提高教學(xué)效果有較大的幫助[2];另外,也有研究表明根據(jù)學(xué)生的學(xué)習(xí)行為數(shù)據(jù),運(yùn)用分類算法可較準(zhǔn)確的預(yù)測學(xué)生學(xué)習(xí)態(tài)度[3]。我們結(jié)合已有的研究結(jié)果,并對現(xiàn)有的課程網(wǎng)絡(luò)教學(xué)平臺進(jìn)行研究,總結(jié)出如下問題并提出想法:①部分網(wǎng)絡(luò)教學(xué)平臺中所產(chǎn)生的統(tǒng)計(jì)數(shù)據(jù)不全面,以至不能有效地充分地分析統(tǒng)計(jì)數(shù)據(jù),因此,選擇一款統(tǒng)計(jì)數(shù)據(jù)較為全面的網(wǎng)絡(luò)教學(xué)平臺尤為重要。②網(wǎng)絡(luò)教學(xué)平臺普遍缺少對學(xué)生學(xué)習(xí)效果提供智能評價(jià)功能,如果我們利用人工智能算法對學(xué)生在網(wǎng)絡(luò)教學(xué)平臺學(xué)習(xí)過程中所產(chǎn)生的海量數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,評估課終考試成績等級,那么教師對學(xué)習(xí)效果不佳的學(xué)生就可以進(jìn)行督促與指導(dǎo),也能為教師提供教學(xué)改革的決策依據(jù)。針對上述問題,本文研究了運(yùn)用人工智能算法對網(wǎng)絡(luò)教學(xué)平臺統(tǒng)計(jì)數(shù)據(jù)進(jìn)行分析及成績等級預(yù)測。
在本研究中,我們選擇基于超星網(wǎng)絡(luò)教學(xué)平臺統(tǒng)計(jì)的學(xué)習(xí)行為數(shù)據(jù)作為研究對象,該平臺是基于任務(wù)驅(qū)動教學(xué)模式的課程平臺,是基于資源共享式和師生互動式的網(wǎng)絡(luò)平臺,可作為傳統(tǒng)課堂教學(xué)的網(wǎng)絡(luò)輔助教學(xué)平臺。超星網(wǎng)絡(luò)在課程內(nèi)容上按照教學(xué)大綱設(shè)計(jì)了知識結(jié)構(gòu),加入了充足的有趣味性的教學(xué)案例,同時(shí)教學(xué)平臺將重難點(diǎn)做成微課,并拓展了知識點(diǎn)的講解,方便學(xué)生自主學(xué)習(xí)。
超星網(wǎng)絡(luò)教學(xué)平臺的主要功能包括:用戶管理、角色權(quán)限、學(xué)生信息管理、任務(wù)管理、作業(yè)管理、教學(xué)資料管理、教學(xué)管理等。在本研究中我們建立了教學(xué)數(shù)據(jù)分析庫,它是學(xué)生通過網(wǎng)絡(luò)教學(xué)平臺參與并完成任務(wù)模塊、在線學(xué)習(xí)、觀看微課視頻、在線測驗(yàn)及作業(yè)等任務(wù)之后產(chǎn)生的。運(yùn)用綜合學(xué)習(xí)效果評價(jià)算法對學(xué)生在教學(xué)平臺的學(xué)習(xí)參與和學(xué)習(xí)效果方面給予評價(jià),運(yùn)用人工智能的分類算法對學(xué)生學(xué)習(xí)參與數(shù)據(jù)進(jìn)行課終考試成績等級預(yù)測分析。一方面,教師對于任務(wù)點(diǎn)完成情況不好及作業(yè)、測驗(yàn)結(jié)果不理想的學(xué)生給予督導(dǎo)教學(xué),另一方面,教師在教學(xué)中可以及時(shí)調(diào)整授課內(nèi)容及教學(xué)方法,評價(jià)報(bào)表為教師教學(xué)方法改革及學(xué)生調(diào)整自我學(xué)習(xí)方式提供了輔助決策支持[3]。
在本研究中,我們對學(xué)生參與學(xué)習(xí)程度、作業(yè)完成情況等任務(wù)點(diǎn)執(zhí)行情況做出綜合學(xué)習(xí)效果評價(jià),從教學(xué)數(shù)據(jù)分析庫中發(fā)現(xiàn)潛在的規(guī)律或關(guān)聯(lián)數(shù)據(jù),運(yùn)用人工智能中的分類算法對學(xué)生學(xué)習(xí)參與數(shù)據(jù)進(jìn)行課終考試成績等級預(yù)測分析,進(jìn)而對在網(wǎng)絡(luò)教學(xué)平臺上學(xué)習(xí)時(shí)間不夠、自主學(xué)習(xí)的效果不太理想的學(xué)生進(jìn)行督導(dǎo)。
在進(jìn)行學(xué)生綜合學(xué)習(xí)效果評價(jià)中我們建立了良好的評價(jià)模型,結(jié)合了學(xué)生參與平臺互動教學(xué)的情況,我們將綜合學(xué)習(xí)效果評價(jià)設(shè)計(jì)為:在線學(xué)習(xí)時(shí)間、微課學(xué)習(xí)時(shí)間、平臺作業(yè)完成情況、在線章節(jié)測驗(yàn)情況、階段性考試情況5個維度,以下將對綜合學(xué)習(xí)效果評價(jià)算法進(jìn)行說明,公式如下:
式(1)中:N=5,S i為學(xué)生在網(wǎng)絡(luò)教學(xué)平臺某一項(xiàng)教學(xué)環(huán)節(jié)上的參與程度或成績,具體計(jì)算公式如下:
公式(2)及公式(3)為學(xué)生學(xué)習(xí)過程任務(wù)的參與程度,是學(xué)生本人在該教學(xué)環(huán)節(jié)上的參與情況與教師發(fā)布的任務(wù)點(diǎn)總數(shù)的比值,公式(4)、公式(5)及公式(6)可以反映學(xué)生學(xué)習(xí)效果,該比值對于不同層次、不同專業(yè)的學(xué)習(xí)對象都能較為客觀真實(shí)地反映學(xué)生完成教師發(fā)布任務(wù)的情況,學(xué)生要想得到較高的S分?jǐn)?shù)必須認(rèn)真參與每一項(xiàng)任務(wù),因而該教學(xué)平臺是任務(wù)驅(qū)動的教學(xué)模式。
分類分析是通過分析具有類別的樣本的特點(diǎn),得到?jīng)Q定樣本屬于各種類別的規(guī)則或方法。分類算法的主要作用是對已標(biāo)記好類別的訓(xùn)練數(shù)據(jù)訓(xùn)練得出規(guī)則,從而對新樣本進(jìn)行分類,預(yù)測一個歸屬的類別。常用的分類算法包括:隨機(jī)森林分類法、邏輯回歸分類算法、基于支持向量機(jī)(SVM)和XGboost分類法等。對學(xué)生各項(xiàng)Si進(jìn)行分類需要經(jīng)過數(shù)據(jù)預(yù)處理、特征提取、分類算法選擇及最終的學(xué)習(xí)效果評價(jià)。
由教學(xué)平臺收集的數(shù)據(jù)是教學(xué)數(shù)據(jù)與學(xué)生學(xué)習(xí)行為原始數(shù)據(jù),在經(jīng)過數(shù)據(jù)預(yù)處理后,從數(shù)據(jù)中找出學(xué)生學(xué)習(xí)行為特征顯得尤為重要,特征是否突出將影響分類器訓(xùn)練結(jié)果。本實(shí)驗(yàn)中,將學(xué)生各項(xiàng)Si做為特征數(shù)據(jù)進(jìn)行分析。
不同訓(xùn)練集選擇不同的分類算法,本文通過運(yùn)用了Python中提供的隨機(jī)森林算法、邏輯回歸算法、SVM向量機(jī)以及XGboost算法進(jìn)行五折交叉驗(yàn)證,對不同分類器準(zhǔn)確率進(jìn)行比較,找出正確率相對較高的分類法。下面分別簡述四種分類算法及代碼:
(1)隨機(jī)森林是一種基于樹的集成分類器。采用概率熵計(jì)算方法,自動減少特征個數(shù)。在Python中的代碼如下:
from sklearn.pipeline import Pipeline
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score,train_test_split
pl_random_forest=Pipeline(steps=[('random_forest',RandomForestClassifier())])
scores=cross_val_score(pl_random_forest,teaching_data,label_df,cv=5,scoring='accuracy')
print('Accuracy for RandomForest:',scores.mean())
print('五次分類結(jié)果準(zhǔn)確率是',scores)
(2)邏輯回歸分類器,邏輯回歸是一種線性分類器,其工作方式與線性回歸相同。代碼如下:
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
pl_log_reg=Pipeline(steps=[('scaler',StandardScaler()),('log_reg',LogisticRegression(multi_class='multino?mial',solver='saga',max_iter=10))])
scores=cross_val_score(pl_log_reg,teaching_data,la?bel_df,cv=5,scoring='accuracy')
print('Accuracy for Logistic Regression:',scores.mean())
print('五次分類結(jié)果準(zhǔn)確率是',scores)
(3)SVM線性支持向量機(jī)分類器。
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
pl_svm=Pipeline(steps=[('scaler',StandardScaler()),('pl_svm',LinearSVC())])
scores= cross_val_score(pl_svm,teaching_data,la?bel_df,cv=5,s coring='accuracy')
print('Accuracy for Linear SVM:',scores.mean())
print('五次分類結(jié)果準(zhǔn)確率是',scores)
(4)XGBoost是一個基于提升樹的集成分類器。與“隨機(jī)森林”一樣,它也會自動減少特征集。
import xgboost as xgb
pl_xgb=Pipeline(steps=[('xgboost',xgb.XGBClassifier(objective='multi:softmax'))])
scores=cross_val_score(pl_xgb,teaching_data,label_df,cv=5,scoring='accuracy')
print('Accuracy for XGBoost Classifier:',scores.mean())
print('五次分類結(jié)果準(zhǔn)確率是',scores)
本文選用Python做為建模工具,運(yùn)用Py?thon提供的多種分類算法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)來源于我校2019級各專業(yè)的《計(jì)算機(jī)應(yīng)用基礎(chǔ)》公共課程的教學(xué)數(shù)據(jù),共計(jì)11個教學(xué)班約510個學(xué)生學(xué)習(xí)數(shù)據(jù)記錄。實(shí)驗(yàn)采用五折交叉驗(yàn)證方式,每次訓(xùn)練集合的學(xué)生數(shù)為400,測試集合數(shù)為110。實(shí)驗(yàn)所用的數(shù)據(jù)集中每條記錄包括學(xué)生學(xué)習(xí)參與程度、測驗(yàn)成績以及課終考試成績。訓(xùn)練集分類器將學(xué)生各項(xiàng)參與程度及測驗(yàn)成績設(shè)為輸入,將學(xué)生課終考試成績設(shè)為分類器輸出標(biāo)簽,共分為三類,80分以上的標(biāo)記為“excellent”,60分至80分之間的標(biāo)記為“good”,60分以下標(biāo)記為“bad”。
在應(yīng)用不同分類器進(jìn)行分類之前,首先通過代碼查看數(shù)據(jù)表中已標(biāo)記好的列“l(fā)abel”的分布情況,代碼如下:
import pandas as pd
teaching_data=pd.read_csv('stu_data.csv',index_col=False)
teaching_data.head()
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(12,5))
sns.countplot(x=teaching_data.label,color='mediumsea?green')
plt.title('Credit level distribution',fontsize=16)
plt.ylabel('Class Counts',fontsize=16)
plt.xlabel('Class Label',fontsize=16)
plt.xticks(rotation='vertical');
label_df=teaching_data['label']
teaching_data.drop('label',axis=1,inplace=True)
teaching_data.head()
從條形圖圖1中可以清楚地看出目標(biāo)變量“l(fā)abel”被分為“excellent”、“good”及“bad”三類,被分到每一類的大致數(shù)據(jù)量,類分布沒有偏態(tài),樣本數(shù)據(jù)已被分類器分離開了。
圖1 類分布柱形圖
在表1中,我們應(yīng)用了Python中4種常用的分類器進(jìn)行5組交叉驗(yàn)證,進(jìn)而比較每種分類算法對每組數(shù)據(jù)進(jìn)行分類的準(zhǔn)確率,實(shí)驗(yàn)結(jié)果表明,XGboost分類算法準(zhǔn)確率相對最高,平均值達(dá)到了0.9284。
表1 四種分類器準(zhǔn)確率比較
本文對超星網(wǎng)絡(luò)教學(xué)平臺學(xué)生行為統(tǒng)計(jì)數(shù)據(jù)進(jìn)行XGboost分類算法分析,實(shí)現(xiàn)了對課終考試成績等級預(yù)測的能力,在實(shí)際教學(xué)過程中,教師可根據(jù)學(xué)生在學(xué)習(xí)過程中各項(xiàng)學(xué)習(xí)參與度及學(xué)習(xí)效果,預(yù)測課終考試成績等級,對于學(xué)習(xí)不積極、參與度不高及學(xué)習(xí)效果不佳的學(xué)生進(jìn)行監(jiān)督與指導(dǎo),學(xué)生也能夠根據(jù)預(yù)測成績及時(shí)改善學(xué)習(xí)方法,提高學(xué)習(xí)積極性,最終提高學(xué)習(xí)效果。
本文研究了運(yùn)用人工智能分類算法進(jìn)行成績等級的預(yù)測,較好地實(shí)現(xiàn)了對學(xué)生學(xué)習(xí)過程進(jìn)行監(jiān)督與指導(dǎo)。運(yùn)用XGboost算法能較好地根據(jù)學(xué)生學(xué)習(xí)參與度預(yù)估學(xué)生知識掌握水平和成績等級,這使得該教學(xué)平臺更加智能化,為學(xué)生能夠?qū)崿F(xiàn)自主學(xué)習(xí)進(jìn)行了指導(dǎo),教師也能夠依據(jù)預(yù)測結(jié)果對學(xué)生學(xué)習(xí)過程進(jìn)行監(jiān)督,改善了網(wǎng)絡(luò)教學(xué)平臺的教學(xué)效果。