浙江國際海運(yùn)職業(yè)技術(shù)學(xué)院 金悅奇 朱杰
在高職院?!盎ヂ?lián)網(wǎng)+”教學(xué)背景下,分析機(jī)器學(xué)習(xí)在學(xué)業(yè)預(yù)警中的技術(shù)優(yōu)勢和可行性。利用KNN算法構(gòu)建學(xué)業(yè)預(yù)警模型,提出基于機(jī)器學(xué)習(xí)的高職學(xué)業(yè)預(yù)警系統(tǒng)設(shè)計方案。
隨著“互聯(lián)網(wǎng)+”教學(xué)不斷推廣深入,以MOOC、SPOC為代表的信息化教學(xué)中得到廣泛應(yīng)用。一方面學(xué)生在這些教學(xué)信息系統(tǒng)上的學(xué)習(xí)行為、過程及結(jié)果產(chǎn)生了大量的數(shù)據(jù)記錄,這些學(xué)習(xí)行為數(shù)據(jù)和學(xué)生的學(xué)業(yè)教學(xué)評價之間存在著的內(nèi)在聯(lián)系,為創(chuàng)建信息化的學(xué)業(yè)預(yù)警系統(tǒng)提供了數(shù)據(jù)基礎(chǔ)。另一方面隨著高職院校對學(xué)生學(xué)業(yè)要求逐步提高和嚴(yán)格,而高職學(xué)生本身自主學(xué)習(xí)能力相對較弱,從而對高職院校學(xué)生的學(xué)習(xí)監(jiān)管和學(xué)業(yè)預(yù)警的需求更加迫切。當(dāng)前在人工智能領(lǐng)域機(jī)器學(xué)習(xí)被視為有效分析處理大數(shù)據(jù)的一種新手段,本文以機(jī)器學(xué)習(xí)技術(shù)為基礎(chǔ)研究高職院校學(xué)業(yè)預(yù)警系統(tǒng)的設(shè)計。
目前機(jī)器學(xué)習(xí)在學(xué)業(yè)預(yù)警系統(tǒng)落地實施方面沒有現(xiàn)成的系統(tǒng)框架和軟件平臺,一部分高校利用機(jī)器學(xué)習(xí)對學(xué)生學(xué)習(xí)行為數(shù)據(jù)分析的學(xué)業(yè)預(yù)警系統(tǒng)還處于理論研究階段或探索試驗階段。當(dāng)前高職院校學(xué)業(yè)預(yù)警系統(tǒng)建設(shè)主要存在的問題有:
高職院校學(xué)生學(xué)業(yè)相關(guān)數(shù)據(jù)規(guī)模上趨向于海量,但管理上分散在傳統(tǒng)的教務(wù)管理信息系統(tǒng)、各類課程的網(wǎng)絡(luò)教學(xué)平臺以及考證、實習(xí)等信息系統(tǒng)。各個信息系統(tǒng)又分屬于教務(wù)處、畢業(yè)處以及各個二級學(xué)院等不同部門管理。學(xué)業(yè)預(yù)警數(shù)據(jù)來源多樣化,有大量結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),但缺少統(tǒng)一的數(shù)據(jù)存儲模式,數(shù)據(jù)冗余大、互通性、一致性差。大量學(xué)生學(xué)習(xí)數(shù)據(jù)往往被空置得不到有效利用。
高職院校學(xué)業(yè)預(yù)警滯后表現(xiàn)在以下幾個方面:(1)學(xué)業(yè)預(yù)警機(jī)制建立在傳統(tǒng)的教務(wù)信息管理系統(tǒng)上,數(shù)據(jù)處理效率低,智能化程度低,通常需要大量人工操作,使得基層教學(xué)管理和學(xué)生管理人員負(fù)擔(dān)重、時效差。(2)學(xué)業(yè)預(yù)警機(jī)制在學(xué)生學(xué)業(yè)狀態(tài)的識別和反饋上不夠及時快速,傳統(tǒng)學(xué)業(yè)警告機(jī)制通常需要階段性的考試評價成績才能判斷輸出學(xué)生學(xué)業(yè)狀態(tài),高職很多課程沒有設(shè)置期中考試。(3)傳統(tǒng)的學(xué)業(yè)預(yù)警機(jī)制規(guī)則比較僵化,很難適應(yīng)學(xué)生學(xué)習(xí)狀態(tài)的動態(tài)變化,特定情況下識別準(zhǔn)確率較低,沒有引入機(jī)器學(xué)習(xí)技術(shù)有效應(yīng)用的具體案例。
機(jī)器學(xué)習(xí)(Machine Learning)的概念的起源于1950年圖靈提出的建立學(xué)習(xí)機(jī)器。簡單地說就是研究機(jī)器怎樣模擬人類的學(xué)習(xí)行為,從而獲取新的知識改善系統(tǒng)自身,目前主要應(yīng)用于視覺圖像、文本語義等處理。機(jī)器學(xué)習(xí)根據(jù)所處理數(shù)據(jù)有無標(biāo)簽,一般可分為兩大類:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)。學(xué)生學(xué)業(yè)預(yù)警存在以往學(xué)生學(xué)業(yè)結(jié)果等數(shù)據(jù)可以作為數(shù)據(jù)標(biāo)簽,因此采用監(jiān)督學(xué)習(xí)算法建模相比無監(jiān)督學(xué)習(xí)的聚類等算法識別不同風(fēng)險程度的學(xué)業(yè)困難的學(xué)生群體,預(yù)測學(xué)業(yè)結(jié)果更簡單可靠。
學(xué)業(yè)預(yù)警建模屬于根據(jù)學(xué)生學(xué)習(xí)行為預(yù)測學(xué)生學(xué)業(yè)不同類型結(jié)果的分類問題,所以模型選擇監(jiān)督學(xué)習(xí)中分類廣泛使用的K-近鄰算法(KNN)建模,KNN的距離度量通常選用歐式距離,即閔可夫斯基距離在p=2時的情形。
將學(xué)生學(xué)習(xí)相關(guān)的考勤數(shù)據(jù)、MOOC學(xué)習(xí)數(shù)據(jù)、課程成績等數(shù)據(jù)集按學(xué)生學(xué)號關(guān)鍵字并表,得到學(xué)生學(xué)號、課程ID組合為主鍵,課程成績?yōu)闃?biāo)簽。課程成績按合格、補(bǔ)考、重修分為三類,將所得數(shù)據(jù)集引用sklearn 的train_test_split按70∶30比例分割成訓(xùn)練集和測試集,將其中70%數(shù)據(jù)用于訓(xùn)練,30%數(shù)據(jù)用于檢測模型。分割數(shù)據(jù)代碼如下:
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train(X,y,test_size=0.30,random_state=1,stratify=y)
由于課程成績類型分為三類,創(chuàng)建KNN實例如下:knn=KneighborClassifier(n_neighbor=3)
并由X_train,y_train相應(yīng)數(shù)據(jù)來訓(xùn)練以上KNN模型:knn.fit(X_train,y_train)
然后使用測試集數(shù)據(jù)X_test得出預(yù)測分類結(jié)果y_pred,并評估模型性能。
y_pred=knn.predit(X_test)
(y_pred==y_test.values).sum()/y_test.size
高職學(xué)生學(xué)業(yè)預(yù)警分為課程、學(xué)期和畢業(yè)資格三層預(yù)警。
第一層為課程預(yù)警,按學(xué)生的日常課程學(xué)習(xí)行為預(yù)測學(xué)生最終課程成績,預(yù)警分為“紅、黃”兩個等級,黃色預(yù)警代表課程有大概率不合格需要補(bǔ)考的情形,紅色預(yù)警代表課程有大概率嚴(yán)重不合格需要重修的情形。
第二層為學(xué)期預(yù)警,學(xué)期預(yù)警根據(jù)第一層課程預(yù)警學(xué)生每學(xué)期可能出現(xiàn)不及格的課程門數(shù)多少,將預(yù)警劃分為“紅、橙、黃”三個預(yù)警等級。每學(xué)年課程預(yù)警出現(xiàn)可能不合格課程 1門為黃色預(yù)警,可能不合格課程2~3門為黃色預(yù)警,3門以上為紅色預(yù)警。預(yù)警信息將及時反饋到學(xué)生管理部門和學(xué)生,同時對學(xué)生進(jìn)行及時的學(xué)業(yè)指導(dǎo)和管理并采取相應(yīng)的幫扶措施。
第三層為畢業(yè)資格審核預(yù)警,將第二層學(xué)期預(yù)警和學(xué)生之前學(xué)期不合格課程項目累計超過5門,尤其監(jiān)控參加課程補(bǔ)考、重修后仍有課程不合格、學(xué)業(yè)成績不達(dá)標(biāo)的學(xué)生將觸發(fā)預(yù)警并識別為學(xué)困生。由此對這類情形學(xué)生及時介入加強(qiáng)學(xué)業(yè)指導(dǎo),及時安排專業(yè)輔導(dǎo)學(xué)習(xí),必要時開展畢業(yè)資格預(yù)警教育,告知學(xué)生畢業(yè)條件,對課程不合格、應(yīng)獲學(xué)分不足的學(xué)生,合理規(guī)范的安排重修學(xué)習(xí),杜絕畢業(yè)時清考現(xiàn)象。
系統(tǒng)主要核心功能包括學(xué)生行為數(shù)據(jù)采集、學(xué)業(yè)預(yù)警處理、學(xué)業(yè)預(yù)警反饋輸出三部分功能。學(xué)業(yè)預(yù)警系統(tǒng)的框架如圖1所示。
圖1 學(xué)業(yè)預(yù)警系統(tǒng)框架Fig.1 Academic warning system framework
其中,大數(shù)據(jù)采集功能的實現(xiàn)主要通過兩類途徑:一類采集途徑是通過互聯(lián)網(wǎng)絡(luò)大數(shù)據(jù)平臺,主要為MOOC或SPOC平臺數(shù)據(jù),采集網(wǎng)絡(luò)平臺的學(xué)生學(xué)習(xí)行為等數(shù)據(jù),常見數(shù)據(jù)格式為JSON,如MOOC后臺統(tǒng)計的訪問數(shù)、瀏覽時長等。另一類采集途徑是通過第三方數(shù)據(jù)的提交和抓取,如其他Excel格式的成績表等。
學(xué)業(yè)預(yù)警核心功能模塊主要采用Anaconda+ Sklearn+Pandas組合架構(gòu)。其中,Anaconda是一個包含多種工具包的Python整合環(huán)境;Sklearn即Scikit-learn是一種可以靈活運(yùn)行在Python環(huán)境上,支持多種算法的機(jī)器學(xué)習(xí)平臺;Pandas是一種提供高性能、易于使用的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。
學(xué)業(yè)預(yù)警反饋輸出功能設(shè)計采用以Web+小程序方式。首先基于Web建立學(xué)業(yè)預(yù)警系統(tǒng)的交互界面,技術(shù)上選擇Html5響應(yīng)式前端設(shè)計。其中,對于關(guān)鍵預(yù)警反饋信息則同時支持通過小程序等推送方式,保證反饋的時效性。
高職學(xué)生學(xué)業(yè)預(yù)警是一種全過程、大數(shù)據(jù)的學(xué)生行為監(jiān)測、分析、反饋系統(tǒng)工程。機(jī)器學(xué)習(xí)提供了在當(dāng)前教學(xué)大數(shù)據(jù)環(huán)境下開展數(shù)據(jù)挖掘的一種方式,由此提出了基于機(jī)器學(xué)習(xí)KNN算法的預(yù)警模型設(shè)計的具備大數(shù)據(jù)采集、分析、反饋輸出等功能的高職學(xué)業(yè)預(yù)警系統(tǒng)。對提升教學(xué)大數(shù)據(jù)的利用,改善學(xué)業(yè)預(yù)警效率,探索機(jī)器學(xué)習(xí)在教育領(lǐng)域應(yīng)用有參考指導(dǎo)作用。