張鐵軍 賈銀江 趙峻穎
(東北農(nóng)業(yè)大學(xué),黑龍江哈爾濱 150030)
本文采用混合聚類算法對(duì)學(xué)生進(jìn)行分類分班,從而為分層次教學(xué)的實(shí)施提供保證和支持。
聚類是一種常見的數(shù)據(jù)分析工具,它的基本思想是根據(jù)對(duì)象間的相似程度進(jìn)行類別的聚合。當(dāng)前的聚類算法大多用于處理單種屬性的數(shù)據(jù),如數(shù)值型屬性數(shù)據(jù)的處理,或者符號(hào)型屬性數(shù)據(jù)的處理。傳統(tǒng)的基于歐氏距離劃分的算法難以滿足此類混合屬性數(shù)據(jù)集聚類的要求。
由于在分層次教學(xué)分組過程中,采用的數(shù)據(jù)不僅是考試成績(jī)等數(shù)值型數(shù)據(jù),還包括學(xué)生掌握計(jì)算機(jī)技能水平的差異等分類型屬性數(shù)據(jù),所以選用K-prototypes混合聚類分析的方法。該法提出利用分類屬性簡(jiǎn)單匹配相異度,將分類屬性轉(zhuǎn)化為數(shù)值屬性間基于距離的計(jì)算問題,從而解決混合屬性數(shù)據(jù)集聚類的問題。
K-prototypes算法定義了一個(gè)代價(jià)函數(shù)。對(duì)于含有m個(gè)屬性(mr個(gè)數(shù)值屬性,mc個(gè)分類屬性,且m=mr+mc)的n個(gè)數(shù)據(jù)對(duì)象,代價(jià)函數(shù)定義為:
其中υ(di,Ci)是數(shù)據(jù)對(duì)象di到最近的聚類中心Ci的距離。υ(di,Ci)定義如下:
對(duì)混合屬性數(shù)據(jù)集聚類的過程就是求解代價(jià)函數(shù)ξ最小化的過程。
教學(xué)分組的數(shù)據(jù)收集是大學(xué)一年級(jí)學(xué)生在第一學(xué)期期末,在教務(wù)網(wǎng)站輸入自己的學(xué)號(hào)進(jìn)行期末考試成績(jī)查詢時(shí),以二值按鈕的方式讓學(xué)生對(duì)自己的計(jì)算機(jī)技能做真實(shí)評(píng)估。評(píng)估結(jié)果直接存儲(chǔ)到數(shù)據(jù)庫中作為教學(xué)分組的分類屬性數(shù)據(jù),同時(shí)學(xué)生的《計(jì)算機(jī)基礎(chǔ)一》第一學(xué)期的考試成績(jī)也對(duì)應(yīng)著學(xué)號(hào)轉(zhuǎn)存到同一數(shù)據(jù)庫表中作為教學(xué)分組的數(shù)值型數(shù)據(jù)。
學(xué)生的計(jì)算機(jī)技能由于經(jīng)過一學(xué)期的基礎(chǔ)學(xué)習(xí),對(duì)計(jì)算機(jī)各個(gè)方面的知識(shí)都有了一定的了解,本評(píng)估表主要注重學(xué)生的興趣取向,并綜合學(xué)生的計(jì)算機(jī)技能水平。
表1 計(jì)算機(jī)技能評(píng)估表
對(duì)于每個(gè)學(xué)生的自我評(píng)估表,當(dāng)某一學(xué)生掌握了某種技能時(shí),將該技能對(duì)應(yīng)的屬性值定為1,否則設(shè)為0,共有6種屬性,即生成6位的二進(jìn)制編碼。如表2所示,是根據(jù)本校2010級(jí)大學(xué)計(jì)算機(jī)基礎(chǔ)課程預(yù)處理后得到的數(shù)據(jù)。
表2 2010級(jí)教學(xué)分組數(shù)據(jù)表
根據(jù)K-prototypes算法,用VC++6.0編程實(shí)現(xiàn),實(shí)現(xiàn)步驟如下:
1)初始化聚類數(shù)目k和聚類中心C,即從數(shù)據(jù)集中隨機(jī)選取k個(gè)初始聚類原型;
2)按照定義的代價(jià)函數(shù)最小化公式,將數(shù)據(jù)集中的各個(gè)對(duì)象劃分到離它最近的聚類原型所代表的類中;
3)對(duì)于每個(gè)聚類,根據(jù)距離公式重新計(jì)算新的聚類原型;
4)計(jì)算每個(gè)數(shù)據(jù)對(duì)象對(duì)于新的數(shù)據(jù)原型的差異度,如果離一個(gè)數(shù)據(jù)對(duì)象最近的聚類原型不是當(dāng)前數(shù)據(jù)對(duì)象所屬聚類原型,則重新分配這兩個(gè)聚類的對(duì)象;
5)重復(fù) Step 3和Step 4,直到各個(gè)聚類中不再有數(shù)據(jù)對(duì)象發(fā)生變化時(shí),算法結(jié)束。
對(duì)2010級(jí)大一學(xué)生進(jìn)行聚類分組,設(shè)定權(quán)重=0.5,確定分為11類。在按類分班時(shí),打亂原來的自然班,但在同類中還是以相同學(xué)科相同專業(yè)優(yōu)先分班。通過對(duì)聚類結(jié)果進(jìn)行分析比較,對(duì)于考試成績(jī)比較高,計(jì)算機(jī)技能掌握比較多的分組,他們對(duì)計(jì)算機(jī)知識(shí)有較大的學(xué)習(xí)興趣,并且有扎實(shí)的計(jì)算機(jī)基礎(chǔ),這部分學(xué)生的培養(yǎng)可以在教學(xué)過程中針對(duì)他們所選擇的技能對(duì)教學(xué)內(nèi)容進(jìn)行擴(kuò)充,以程序設(shè)計(jì)、數(shù)據(jù)處理、網(wǎng)絡(luò)應(yīng)用為主,培養(yǎng)既懂專業(yè)又掌握計(jì)算機(jī)專業(yè)知識(shí)的復(fù)合型人才。對(duì)于考試成績(jī)較高,但掌握計(jì)算機(jī)技能較少的分組,主要采用啟發(fā)式教學(xué)方法,拓寬學(xué)生的視野,側(cè)重于提高與學(xué)生自己專業(yè)相關(guān)的計(jì)算機(jī)知識(shí)的學(xué)習(xí)興趣,為以后的工作科研做知識(shí)儲(chǔ)備。對(duì)于分組中學(xué)習(xí)成績(jī)中等及偏下的同學(xué)以加強(qiáng)基礎(chǔ)知識(shí)與動(dòng)手實(shí)驗(yàn)?zāi)芰橹鳎\(yùn)用多種教學(xué)手段提高學(xué)生的學(xué)習(xí)興趣,循序漸進(jìn)地使學(xué)生能夠牢固掌握所學(xué)知識(shí)。
將K-prototypes聚類引入到分層次教學(xué)分組之中,把學(xué)生計(jì)算機(jī)技能的差異作為分類屬性,同時(shí)把計(jì)算基礎(chǔ)考試成績(jī)作為數(shù)值屬性,進(jìn)行混合聚類分組,這樣既考慮到學(xué)生的學(xué)習(xí)能力,又兼顧了學(xué)生的學(xué)習(xí)興趣和取向,達(dá)到因材施教的教學(xué)要求。運(yùn)用VC6.0++開發(fā)出基于混合聚類的教學(xué)分組計(jì)算機(jī)程序,該程序可以嵌入到教學(xué)管理系統(tǒng)當(dāng)中,從而方便對(duì)學(xué)生的教學(xué)教務(wù)進(jìn)行統(tǒng)一管理。
[1] 孫吉貴,劉杰,趙連宇.聚類算法研究[J].軟件學(xué)報(bào),2008,16(1):48-61.
[2] Barbara D,Chen P.Using Self-similarity to Cluster Large Datasets[J].Data Mining and Knowledge Discovery,2003,7(2):123-152.
東北農(nóng)業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版)2012年6期