劉一帆,詹 靜,2,范 雪
(1.北京工業大學 計算機學院,北京 100124;2.可信計算北京市重點實驗室,北京 100124)
隨著中國教育規模日益增長,讓高校教育方法得到更有針對性的改善是目前教育領域的重要任務。教學信息管理系統在普及過程中積累了較多的學生信息數據,但一般只進行簡單的數據備份存儲、查詢工作,沒有進一步剖析數據背后的價值。一些學者將數據挖掘技術應用于教育數據的處理,期望通過分析影響學生成績的內在因素改進教學工作。目前教育數據分析常用的方法有分類算法、聚類算法等。
計算機網絡課程內容具有知識點多、交叉關聯多,很多知識點需要同時具備工程經驗才能更好理解的特點。由于課程內容自身比較復雜,學生有一定的畏難情緒,對學習效率和對專業學習興趣產生了不利影響。為了提高學生對計算機網絡知識的學習效果,筆者利用CART 決策樹算法對學生的計算機網絡相關課程成績深入分析,找出影響學生網絡課程學習成績的主要因素,建立合理的成績分類模型,以便協助教師發現不同學生的學習特征,從而正確地評價、引導學生,使學生得到更好的學習效果。
決策樹算法是應用比較廣的分類算法之一,最典型的算法是由Quinlan 提出的ID3 算法,該算法使用信息增益度量屬性進行分類,將決策樹和信息論聯系起來[1]。由于ID3 的構造效果不夠理想,只能處理離散的數據,Quinlan 又提出了C4.5 算法,對ID3 進行了改進,選擇信息增益率最大的屬性作為分類屬性[2]。文獻[3]根據決策樹算法分析了影響高校英語四級成績的諸多因素,對這些因素按照數據挖掘思想生成了規則集,為提高教學質量奠定了基礎。文獻[4-5]使用決策樹算法,找出了影響學生成績的因素,提出改進的教學方法。文獻[6]使用決策樹模型預測學生是否能通過等級考試,并驗證了其準確率。文獻[7]使用K-means 聚類算法對考試成績進行等級劃分,然后用R-C4.5 算法構造了決策樹,減少了決策樹中無意義的分支,找出了影響成績的主要因素。文獻[8]使用Weka 作為實驗平臺,使用C4.5 等多種算法對學生的專業課程成績信息建模,通過學生前期基礎課程的學習情況預測專業能力是否能達到標準。文獻[9]采用決策樹算法記錄了學生的學習情況,提供了個性化指導建議。文獻[10]以學生定型數據為研究對象,比較了各決策樹算法的性能,實驗說明CART 的分類精度更高。文獻[11]對數學和系統分析與設計兩個擁有1 000 名學生的數據集進行了學習行為分析和預測,發現CART 是預測兩門學科成績的最佳分類器。
CART 是一種決策樹學習算法,使用基尼指數(Gini_index)選擇劃分屬性,計算方式如公式(1)所示。其中,Gini 值越小,表示數據集純度越高,劃分效果越好。

其中,D 為數據集,pi是類別i 出現在D 中的概率,a 為待劃分的屬性,v 為屬性a 可取的值,Dv為數據集中取值為v 的樣本。CART 算法生成的決策樹為二叉樹,分割步驟如下。
(1)對于二叉樹每一個節點選擇Gini 值最小的屬性作為分割點。
(2)在最優屬性的所有取值中選擇對該節點最優的分割點,作為該節點的分割規則。
(3)重復上述步驟,對分割出來的左右節點繼續進行分割,直到所有的樣本基本都屬于同一類別停止分割。
使用的數據集為計算機學院信息安全專業2013 級2 個班(班號分別為130721、130722)、2014 級1 個班(班號為140721)、2015 級1 個班(班號為150743)本科生的基本信息和學習數據,共124 人。
CART 決策樹輸入屬性包括分組角色(組長與非組長)、性別、民族(漢與非漢)、理論努力程度、實踐努力程度5 個。
前3 個屬性原始數據為文本類型,將其轉換為數值類型,擔任實驗組長則該值為1,非組長為0,性別為男值為1,性別為女值為0,少數民族值為1,漢族值為0。
理論和實踐努力程度分別表示學生平時理論和實踐學習的努力程度,具體計算如公式(3)和(4)所示。

其中,Stheory為理論努力程度,Sexperiment為實踐努力程度,Tattempt為在線練習作業嘗試次數,Tvisit為在線練習系統的訪問次數,score 為實驗加分,seq()為從高到低排序函數,n 為學生總數。
CART 決策樹訓練樣本的分類等級即學生成績等級。本文根據成績排名進行劃分,排名前20%學生為A,中間60%學生為B,后20%學生為C。
按照公式(3)及(4)計算,可得到學生學習數據,部分學生的學習數據示例見表1。其中前5 列為輸入屬性,最后一列為訓練樣本的分類等級。

表1 部分學生學習數據示例
根據第2 節所述CART 決策樹算法對上述學生成績進行建模,發現在不做任何限制的情況下可得到9 層決策樹模型,但分類準確率較低(采用十折交叉驗證的方法準確率為68%)。因此,通過調整屬性和樹深度的方法對決策樹進行進一步優化。
首先,計算各屬性權重,計算方法如公式(5)所示。

其中,a 為屬性,nodea為以a 為劃分屬性的節點個數,total_node 為決策樹中除葉節點之外的節點總數。
由表2 可看出,分組角色、民族兩個屬性的權重值都在5%以下,對學生最終成績的影響較小,故只保留性別、理論努力程度、實踐努力程度3 個屬性。

表2 各屬性權重 %
然后,計算不同深度CART 決策樹的分類準確率。當深度為4 的時候準確率為78.2%,此后再增加深度時,準確率提高幅度不再顯著,見圖1。
綜上所述,將決策樹屬性限制為性別、理論努力程度、實踐努力程度3 個屬性,深度設置為4,得到基于CART 決策樹的學生成績模型,見圖2。

圖1 不同深度CART 樹的分類準確率
首先,根據屬性對學生成績影響程度進行分析。屬性剪枝后,實踐努力程度、理論努力程度和性別對學生成績的影響分別為61.5%,30.8%和7.7%,不同屬性的相對影響力與剪枝前一致。可知實踐努力程度對學生成績影響確實最大。這也驗證了計算機網絡課程對工程實踐能力的要求較高的特點。因此,在計算機網絡類課程教學過程中有必要加強實驗指導和效果跟蹤,從而最大限度提高學生成績。
其次,根據決策樹分類規則進行分析。分類規則及符合規則的樣本比例見表3,其中A、B、C 等級比例與第3 節預設比列略有差別,分別為22%,51.5%,26.5%,這是因為學生成績模型準確率未達到100%所致。
1)A 類學生分類規則分析及教學建議。
A 類學生人數占總樣本的22%,其共同特點是實踐努力程度較高(>0.694)。在此前提下,理論努力程度和性別差異對學生成績影響極小。這也比較符合教學事實,因為實踐的基礎是理論,事實上,實踐能讓學生能夠再次理解和掌握理論知識點。
因此,A 類學生分類規則非常符合第一點根據屬性對學生成績影響程度提出的教學建議,即應通過在計算機網絡類課程教學過程中加強實驗指導和效果跟蹤提高學生的學習能力和效果,并且這對培養高水平學生非常重要。
2)B 類學生分類規則分析及教學建議。
B 類學生人數占樣本的51.5%,共分為5 個小類。其中前兩小類與A 類同學特點類似,后兩小類與C 類學生特點類似。中間小類學生人數較多,比較有代表性。
第1 小類只有1 位(比例為0.8%)實踐和理論努力程度都較高(0.796 <實踐努力程度≤0.881,理論努力程度>0.763),但綜合成績未得到A 的學生,經查可能存在臨場發揮問題。
第2 小類有6 位(比例為4.8%)實踐努力程度較高(0.769 <努力程度≤0.796)的同學。經查屬于“搭便車”類型學生,因與實踐能力較強的學生同組,實驗分相對較高,但獨立能力不強。
第3 小類學生(比例為40.3%)最多(0.286<實踐努力程度≤0.694)其他屬性對其成績影響極小。這進一步說明了實驗對網絡課程學習的重要性。
第4 小類學生(比例為4%)是實踐努力程度不高,但理論努力程度相對較高(實踐努力程度≤0.286,理論努力程度>0.362,性別為女)的女生得到了B,而同等努力程度的男生成績則為C,經查證可能因為這些學生比較重視復習查漏補缺。

圖2 基于Cart決策樹的學生成績建模

表3 決策樹分類規則及符合規則的樣本比例
第5 小類學生只有2 位(比例為1.6%),實踐和理論努力程度都相對較低。
因此,從B 類學生分類規則可以得到如下3 個啟示及教學建議:實驗是區分A 類和B 類學生的關鍵環節,加強實驗指導和效果跟蹤可以得到更好的學習效果;在實驗環節中,教師應注意辨別“搭便車”現象,對這類學生加強啟發和檢查,使他們得到更好的學習效果;在復習環節加強與學生的互動,提高學生的復習效果。
3)C 類學生分類規則分析及教學建議。
C 類學生人數占樣本的26.5%,其共同特點是實踐和理論努力程度都不高。
因此,在教學過程中應及早發現和干預該類學生的學習,在保證基礎知識學習的情況下提高他們的學習興趣和效果。
針對計算機網絡基礎相關課程進行了基于CART 決策樹的數據分析,生成了計算機網絡課程學生成績分類模型,經過十折交叉驗證模型的準確率為78.2%。分析發現如下4 條計算機網絡相關課程教學建議:首先,在計算機網絡課程中,影響學生成績的主要因素是實踐努力程度,并且是培養高水平學生的關鍵環節。因此應在計算機網絡類課程教學過程中大力加強實驗指導和效果跟蹤。第二,在實驗環節中應注意辨別“搭便車”現象,對這類學生加強啟發和檢查,使他們真正得到更好的學習效果。第三,在復習環節應加強與學生的互動,提高其復習效果。第四,教學過程中應及早發現和干預實驗和理論學習都不積極的學生,在保證基礎知識學習的情況下提高他們的學習興趣和效果。
下一步研究方向包括:①本模型主要考慮學生的平時努力因素,還可進一步考慮加入期末復習評價因素;②近年來實施的小班教學模式導致樣本數據量不夠大,需要繼續研究大樣本下的模型是否有明顯波動。