(山東外事職業(yè)大學信息與控制工程學院 山東·威海 264504)
隨著互聯(lián)網(wǎng)和人工智能時代的到來,各行各業(yè)都加強了對新一代信息技術的重視。AI技術也廣泛應用于教學研究上。通過相關研究發(fā)現(xiàn),考試成績對學生在某個時間段內(nèi)的學習狀況具有一定的參考價值。有效利用數(shù)據(jù)挖掘算法對學生成績數(shù)據(jù)進行數(shù)據(jù)分析,從而為教師教學和學生學習提供科學建議和輔助決策支持,具有一定的應用價值。
數(shù)據(jù)挖掘算法已經(jīng)開始在教學中得到應用,本文采用聚類算法產(chǎn)生的分組可以為軟件編程類課程項目驅(qū)動教學中的項目分組提供參考依據(jù)。
數(shù)據(jù)挖掘一般是指從大量數(shù)據(jù)中尋找隱藏在背后的信息的過程,是深層大數(shù)據(jù)分析方法。包括分類、聚類、關聯(lián)規(guī)則等系列經(jīng)典算法。
K-Means算法,是經(jīng)典的聚類算法。1967年,James Mac-Queen在他的論文《用于多變量觀測分類和分析的一些方法》中首次提出“K-means”這一術語。
K-Means算法的基本流程如下:
輸入:假設樣本集為D,簇的數(shù)目為k,設置迭代次數(shù)最大為N;
輸出:使平方誤差最小的簇劃分。
算法步驟:
(1)為每個類別選擇一個初始聚類中心點;
(2)將樣本集D中每個樣本按照其與各中心點的最小距離來分配其所屬的簇;
(3)將劃分后的每個聚類類別的均值來更新中心點;
(4)重復步驟(2)(3),直到各個簇中心點不再發(fā)生變化;
(5)輸出最終的聚類中心和k個類別劃分。
本文以山東外事職業(yè)大學軟件與信息服務專業(yè)18級學生某學期期末各科成績數(shù)據(jù)為樣本,科目包括大學英語、綜合人文素質(zhì)、體育以及多門專業(yè)課等。部分學生成績數(shù)據(jù)如表1。
數(shù)據(jù)清洗指消除異常數(shù)據(jù)、填充缺失值等。這里將成績數(shù)據(jù)中出現(xiàn)“舞弊”字樣的成績修改為0,方便聚類計算。部分學生因特殊原因未能按時參加考試的,統(tǒng)計成績時錄入緩考,為了方便聚類統(tǒng)計分析,將出現(xiàn)緩考的數(shù)據(jù)行刪除。
聚類分析劃分簇的時候是基于樣本點和中心點的距離來衡量的,所以表格中的姓名、學號等非數(shù)值列數(shù)據(jù)都刪除,只保留各科成績字段。為了產(chǎn)生更好的聚類效果,應該讓各科成績之間盡量獨立,這里將綜合人文素質(zhì)、毛澤東思想概論等公共基礎課可以合并為“公共基礎課”,該列的值為所有公共課的平均分。
本文采用了數(shù)據(jù)挖掘開源工具Weka進行聚類分析,所以需要將數(shù)據(jù)提前轉(zhuǎn)為csv格式。
Weka提供了Simple K-Means算法,設置算法運行時一些參數(shù)。設置最大迭代次數(shù)為500。劃分類別個數(shù)K的選擇一般按照經(jīng)驗選定范圍,分數(shù)檔次一般是2~6比較合理。為了得到最好的聚類效果,分別為每個 K的取值計算平方誤差squared errors,從而選擇合適的K值。關于K取值與平方誤差對應關系如表2所示。

表1:部分學生各科成績源數(shù)據(jù)

圖1:Java程序設計聚類效果

圖2:操作系統(tǒng)聚類效果

表2:各聚類及樣本數(shù)量

表3:各科聚類結(jié)果的平均值

表4:各聚類及樣本數(shù)量
從表2可以看出當K=5時,各聚類內(nèi)部離中心點的均方差最小,所以k取值為5。
我們運行Weka的聚類分析算法,開始對訓練樣本進行聚類,最終執(zhí)行結(jié)果經(jīng)過整理如表3所示。
各聚類數(shù)量分布結(jié)果如表4所示。
為了在基于項目驅(qū)動的教學模式下更好的進行項目分組,可以參照以上聚類結(jié)果作為決策依據(jù)。比如教師可以從每個類別中抽一個學生組合成一個小組,這種分組策略符合“組內(nèi)異質(zhì),組間同質(zhì)”的原則,容易讓學生在協(xié)同學習中形成互補。
以下對單個科目的聚類效果進行分析,發(fā)現(xiàn)Java語言程序設計這門課的聚類效果最好,類內(nèi)數(shù)據(jù)點分布緊湊,類別之間區(qū)分明顯,由此說明這門課對學生類別劃分比較重要。這門課聚類效果如圖1所示。
在后續(xù)制定人才培養(yǎng)方案時應該適當增加對這兩門課的師資和課時。相反,部分科目聚類效果上看較為分散,且不同類之間區(qū)分不明顯,比如操作系統(tǒng)如圖2所示。
上述反映了操作系統(tǒng)這門課對形成聚類劃分的重要性不高,應找到導致這種分布的原因。比如從考試試題難度、教師教學方式等方面進行調(diào)查分析。
本文基于某高職院校軟件與信息服務專業(yè)的學生期末考試成績,采用K-Means聚類分析算法,對樣本數(shù)據(jù)進行聚類劃分,分析了每一個類別的特點和成績分布,為教師進行分組教學和個性化輔導提供決策支持。同時,本文對每一個科目的聚類效果進行比對分析,找出重要程度較高的科目,為教學管理提供參考,可以依據(jù)重要程度調(diào)整師資和課時。從學生自身而言,也可以通過聚類分析結(jié)果清楚自己的定位,了解自己的優(yōu)勢學科和弱勢學科,針對性的調(diào)整學習時間,將精力更多投入到影響總體成績的科目上,提高學習效果和成績。