浙江國際海運職業技術學院 金悅奇 朱杰
在高職院校“互聯網+”教學背景下,分析機器學習在學業預警中的技術優勢和可行性。利用KNN算法構建學業預警模型,提出基于機器學習的高職學業預警系統設計方案。
隨著“互聯網+”教學不斷推廣深入,以MOOC、SPOC為代表的信息化教學中得到廣泛應用。一方面學生在這些教學信息系統上的學習行為、過程及結果產生了大量的數據記錄,這些學習行為數據和學生的學業教學評價之間存在著的內在聯系,為創建信息化的學業預警系統提供了數據基礎。另一方面隨著高職院校對學生學業要求逐步提高和嚴格,而高職學生本身自主學習能力相對較弱,從而對高職院校學生的學習監管和學業預警的需求更加迫切。當前在人工智能領域機器學習被視為有效分析處理大數據的一種新手段,本文以機器學習技術為基礎研究高職院校學業預警系統的設計。
目前機器學習在學業預警系統落地實施方面沒有現成的系統框架和軟件平臺,一部分高校利用機器學習對學生學習行為數據分析的學業預警系統還處于理論研究階段或探索試驗階段。當前高職院校學業預警系統建設主要存在的問題有:
高職院校學生學業相關數據規模上趨向于海量,但管理上分散在傳統的教務管理信息系統、各類課程的網絡教學平臺以及考證、實習等信息系統。各個信息系統又分屬于教務處、畢業處以及各個二級學院等不同部門管理。學業預警數據來源多樣化,有大量結構化和半結構化數據,但缺少統一的數據存儲模式,數據冗余大、互通性、一致性差。大量學生學習數據往往被空置得不到有效利用。
高職院校學業預警滯后表現在以下幾個方面:(1)學業預警機制建立在傳統的教務信息管理系統上,數據處理效率低,智能化程度低,通常需要大量人工操作,使得基層教學管理和學生管理人員負擔重、時效差。(2)學業預警機制在學生學業狀態的識別和反饋上不夠及時快速,傳統學業警告機制通常需要階段性的考試評價成績才能判斷輸出學生學業狀態,高職很多課程沒有設置期中考試。(3)傳統的學業預警機制規則比較僵化,很難適應學生學習狀態的動態變化,特定情況下識別準確率較低,沒有引入機器學習技術有效應用的具體案例。
機器學習(Machine Learning)的概念的起源于1950年圖靈提出的建立學習機器。簡單地說就是研究機器怎樣模擬人類的學習行為,從而獲取新的知識改善系統自身,目前主要應用于視覺圖像、文本語義等處理。機器學習根據所處理數據有無標簽,一般可分為兩大類:監督學習、無監督學習。學生學業預警存在以往學生學業結果等數據可以作為數據標簽,因此采用監督學習算法建模相比無監督學習的聚類等算法識別不同風險程度的學業困難的學生群體,預測學業結果更簡單可靠。
學業預警建模屬于根據學生學習行為預測學生學業不同類型結果的分類問題,所以模型選擇監督學習中分類廣泛使用的K-近鄰算法(KNN)建模,KNN的距離度量通常選用歐式距離,即閔可夫斯基距離在p=2時的情形。

將學生學習相關的考勤數據、MOOC學習數據、課程成績等數據集按學生學號關鍵字并表,得到學生學號、課程ID組合為主鍵,課程成績為標簽。課程成績按合格、補考、重修分為三類,將所得數據集引用sklearn 的train_test_split按70∶30比例分割成訓練集和測試集,將其中70%數據用于訓練,30%數據用于檢測模型。分割數據代碼如下:
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)
由于課程成績類型分為三類,創建KNN實例如下:knn=KneighborClassifier(n_neighbor=3)
并由X_train,y_train相應數據來訓練以上KNN模型:knn.fit(X_train,y_train)
然后使用測試集數據X_test得出預測分類結果y_pred,并評估模型性能。
y_pred=knn.predit(X_test)
(y_pred==y_test.values).sum()/y_test.size
高職學生學業預警分為課程、學期和畢業資格三層預警。
第一層為課程預警,按學生的日常課程學習行為預測學生最終課程成績,預警分為“紅、黃”兩個等級,黃色預警代表課程有大概率不合格需要補考的情形,紅色預警代表課程有大概率嚴重不合格需要重修的情形。
第二層為學期預警,學期預警根據第一層課程預警學生每學期可能出現不及格的課程門數多少,將預警劃分為“紅、橙、黃”三個預警等級。每學年課程預警出現可能不合格課程 1門為黃色預警,可能不合格課程2~3門為黃色預警,3門以上為紅色預警。預警信息將及時反饋到學生管理部門和學生,同時對學生進行及時的學業指導和管理并采取相應的幫扶措施。
第三層為畢業資格審核預警,將第二層學期預警和學生之前學期不合格課程項目累計超過5門,尤其監控參加課程補考、重修后仍有課程不合格、學業成績不達標的學生將觸發預警并識別為學困生。由此對這類情形學生及時介入加強學業指導,及時安排專業輔導學習,必要時開展畢業資格預警教育,告知學生畢業條件,對課程不合格、應獲學分不足的學生,合理規范的安排重修學習,杜絕畢業時清考現象。
系統主要核心功能包括學生行為數據采集、學業預警處理、學業預警反饋輸出三部分功能。學業預警系統的框架如圖1所示。

圖1 學業預警系統框架Fig.1 Academic warning system framework
其中,大數據采集功能的實現主要通過兩類途徑:一類采集途徑是通過互聯網絡大數據平臺,主要為MOOC或SPOC平臺數據,采集網絡平臺的學生學習行為等數據,常見數據格式為JSON,如MOOC后臺統計的訪問數、瀏覽時長等。另一類采集途徑是通過第三方數據的提交和抓取,如其他Excel格式的成績表等。
學業預警核心功能模塊主要采用Anaconda+ Sklearn+Pandas組合架構。其中,Anaconda是一個包含多種工具包的Python整合環境;Sklearn即Scikit-learn是一種可以靈活運行在Python環境上,支持多種算法的機器學習平臺;Pandas是一種提供高性能、易于使用的數據結構和數據分析工具。
學業預警反饋輸出功能設計采用以Web+小程序方式。首先基于Web建立學業預警系統的交互界面,技術上選擇Html5響應式前端設計。其中,對于關鍵預警反饋信息則同時支持通過小程序等推送方式,保證反饋的時效性。
高職學生學業預警是一種全過程、大數據的學生行為監測、分析、反饋系統工程。機器學習提供了在當前教學大數據環境下開展數據挖掘的一種方式,由此提出了基于機器學習KNN算法的預警模型設計的具備大數據采集、分析、反饋輸出等功能的高職學業預警系統。對提升教學大數據的利用,改善學業預警效率,探索機器學習在教育領域應用有參考指導作用。