葛佶莛
(北京科技大學(xué) 東凌經(jīng)濟(jì)管理學(xué)院,北京100083)
在學(xué)校教育中,考試與教學(xué)不可分割,考試成績(jī)扮演著檢驗(yàn)學(xué)生學(xué)習(xí)情況和狀態(tài)的重要角色。因此,成績(jī)?cè)u(píng)價(jià)對(duì)于檢測(cè)和監(jiān)控教育質(zhì)量、引導(dǎo)教師的教學(xué)行為,督促學(xué)生積極努力地學(xué)習(xí)是非常有必要的?,F(xiàn)在,學(xué)校里擁有各種系統(tǒng)和各類數(shù)據(jù)庫,積累了大量的學(xué)生成績(jī)數(shù)據(jù),但是由于工作人員缺乏相關(guān)挖掘知識(shí)和技術(shù),只能通過Excel工具的簡(jiǎn)單統(tǒng)計(jì)獲得少量信息,隱藏在這些大量數(shù)據(jù)中的信息不能得到應(yīng)用。因此,如何利用學(xué)生前期的考試成績(jī)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析對(duì)提高學(xué)生的知識(shí)水平有著至關(guān)重要的意義。面對(duì)這一挑戰(zhàn),數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生,并逐漸顯示出了強(qiáng)大的生命力,[1]作為數(shù)據(jù)挖掘的重要算法,k-means算法是一種硬聚類方法,即在n維的歐幾里得空間把n個(gè)樣本數(shù)據(jù)分成k類。[2]由于k-means聚類算法對(duì)噪聲和孤立點(diǎn)敏感以及對(duì)處理大數(shù)據(jù)集非常有效的特點(diǎn),[3]本文將k-means算法應(yīng)用于成績(jī)分析,從而全面地分析學(xué)生考試結(jié)果。
本文所引用的文獻(xiàn)一闡述了成績(jī)管理的作用、現(xiàn)狀以及現(xiàn)有成績(jī)管理的不足,并說明了決策樹算法及粗糙集理論在成績(jī)管理中的作用;文獻(xiàn)二介紹了k-means聚類算法,并在此基礎(chǔ)上提出了一種改進(jìn)的遺傳k-means聚類算法;文獻(xiàn)三在分析k-means聚類算法優(yōu)缺點(diǎn)的基礎(chǔ)上進(jìn)行改進(jìn),并通過實(shí)驗(yàn)比較了改進(jìn)算法與原算法的優(yōu)劣;文獻(xiàn)四介紹了典型的數(shù)據(jù)預(yù)處理技術(shù),實(shí)現(xiàn)了一種基于日志請(qǐng)求的參考文件的啟發(fā)式會(huì)話識(shí)別算法。
論文利用k-means聚類算法對(duì)學(xué)生的成績(jī)進(jìn)行評(píng)價(jià)、統(tǒng)計(jì)和分析,從而確定學(xué)生的學(xué)業(yè)成績(jī)?cè)谝粋€(gè)群體中所處的相對(duì)位置,為提高學(xué)生的成績(jī)做準(zhǔn)備,為教學(xué)工作提供反饋信息,并采取針對(duì)性的補(bǔ)救措施,從而進(jìn)一步提高學(xué)校的教學(xué)質(zhì)量。
圖1 設(shè)計(jì)方案實(shí)現(xiàn)圖
本論文將按圖1所示,設(shè)計(jì)總體方案。同時(shí)論文將選用所在學(xué)院的成績(jī)數(shù)據(jù)庫,成績(jī)數(shù)據(jù)庫中包括了學(xué)生所有課程的考試成績(jī)。
第一步,數(shù)據(jù)采集,為了保證數(shù)據(jù)的完整性和準(zhǔn)確性,首先必須做好原始數(shù)據(jù)的選擇和整理工作,本文選取學(xué)院某個(gè)年級(jí)的學(xué)生在某一學(xué)期的課程成績(jī)。
第二步,數(shù)據(jù)預(yù)處理,數(shù)據(jù)預(yù)處理是一個(gè)逐步深入、由表及里的過程,經(jīng)過數(shù)據(jù)審查、數(shù)據(jù)清理、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)驗(yàn)證四大步驟對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,解決數(shù)據(jù)沖突和數(shù)據(jù)不一致等問題,最終形成一份學(xué)生成績(jī)表。[4]
第三步,執(zhí)行聚類算法在確定挖掘任務(wù)后,通過編寫k-means聚類算法在matlab程序代碼,實(shí)現(xiàn)k-means在學(xué)生成績(jī)分析上的處理。
第四步,聚類結(jié)果評(píng)價(jià),對(duì)聚類結(jié)果所發(fā)現(xiàn)的信息進(jìn)行解釋和評(píng)價(jià)。采用k-means聚類算法后,在學(xué)生成績(jī)?cè)u(píng)價(jià)中,每一個(gè)類就是一個(gè)成績(jī)?nèi)?,不同的類相?yīng)地對(duì)各個(gè)成績(jī)?nèi)哼M(jìn)行了劃分,也相應(yīng)地給出了不同成績(jī)?nèi)旱闹行某煽?jī),這些中心成績(jī)就是學(xué)生成績(jī)劃分參考標(biāo)準(zhǔn)之一。
第五步,提出針對(duì)策略,將挖掘出來的信息提供給教學(xué)決策者,調(diào)整教學(xué)策略,進(jìn)一步指導(dǎo)教學(xué)工作,提高學(xué)生成績(jī)。
圖2 K-means算法研究學(xué)生成績(jī)流程
圖2給出了K-means算法研究學(xué)生成績(jī)的流程,在整個(gè)設(shè)計(jì)流程中,存在兩個(gè)關(guān)鍵問題,分別是成績(jī)的表示和成績(jī)的距離計(jì)算,對(duì)于第一個(gè)問題,論文將每個(gè)學(xué)生各科目的考試成績(jī)看做q維向量,記作xi=(x1i,x2i,…,xqi),(i=1,2,…,n),其中xki表示學(xué)生編號(hào)為i的第k門科目的成績(jī),成績(jī)采用百分制,并根據(jù)不同的科目賦予不同的權(quán)重。對(duì)于第二個(gè)問題,論文采用歐式加權(quán)距離來定義學(xué)生成績(jī)之間的距離,將聚類組數(shù)設(shè)為P,cj(j=1,2,…,p)為聚類中心,則成績(jī)到聚類中心的距離可以用公式表示為:
其中,q為粒子的屬性組成的維數(shù),ωk為各屬性的權(quán)值;
對(duì)所有學(xué)生的各科成績(jī)進(jìn)行分組聚類的K-means聚類算法的具體步驟如下:
Step1:設(shè)學(xué)生成績(jī)集為Q=(x1,x2,…xn-1,xn),其中xi=(x1i,x2i,…,xqi);
Step2:隨機(jī)選取每個(gè)類里的一個(gè)粒子作為初始聚類中心c1,c2,…,cP;
Step3:根據(jù)公式(2)將學(xué)生成績(jī)集Q中的對(duì)象xi(i=1,2,…,n)依次按歐式平均距離分配給距離最近的中心cj(j=1,2,…,p)。
其中,q為粒子的屬性組成的維數(shù),ωk為各屬性的權(quán)值;
Step4:按公式(3)計(jì)算P個(gè)聚類新的中心cj(j=1,2,…,P)。
其中,Nj為第j個(gè)聚類Sj中所包含的粒子個(gè)數(shù);
Step5:如果各個(gè)聚類中心cj(j=1,2,…,p)不再變化,否則結(jié)束,否則返回Step3。
在論文設(shè)計(jì)方案中,將學(xué)生(其中不包含不及格需要補(bǔ)考的學(xué)生)分為四類,分別是優(yōu)秀、良好、中等、偏差,并從自我發(fā)展和教學(xué)管理兩方面向不同類別的學(xué)生提出了建議性策略。(見表1)
表1 學(xué)生管理策略
第一步:數(shù)據(jù)采集
通過學(xué)院提供的數(shù)據(jù)庫,選取某個(gè)年級(jí)的學(xué)生在某一學(xué)期的課程成績(jī)。學(xué)生該學(xué)期均有8門功課,分別是信息資源管理、概率論、會(huì)計(jì)學(xué)、口語、工程力學(xué)、毛概、體育、數(shù)學(xué)實(shí)驗(yàn),依次對(duì)應(yīng)的加權(quán)是0.2、0.2、0.2、0.1、0.1、0.1、0.05、0.05,學(xué)生成績(jī)均為百分制,隨機(jī)選擇200名學(xué)生的成績(jī)形成一張?jiān)汲煽?jī)單。
第二步:數(shù)據(jù)預(yù)處理
論文將200名學(xué)生原始成績(jī)單集成為一張成績(jī)單。通過數(shù)據(jù)處理,使表中的每一個(gè)數(shù)據(jù)都是唯一和沒有疑義的,同時(shí)對(duì)空白數(shù)據(jù)進(jìn)行填補(bǔ)或者刪除。首先考慮到數(shù)據(jù)庫中存在“0分”異常數(shù)據(jù)會(huì)對(duì)k-means算法造成很大的影響,因此本論文不將其考慮在研究范圍內(nèi)。同時(shí),通過Excel工具將成績(jī)小于60分的選出,所對(duì)應(yīng)的該學(xué)生成績(jī)也不采取k-means算法進(jìn)行處理,因?yàn)槌煽?jī)一旦低于60分,該學(xué)生要進(jìn)行補(bǔ)考,相應(yīng)分?jǐn)?shù)也會(huì)做更改處理。本論文數(shù)據(jù)采集的200名學(xué)生中一共有10人出現(xiàn)掛科情況,接下來會(huì)對(duì)剩下的190名學(xué)生的考試成績(jī)做k-means算法處理。
表2 數(shù)據(jù)清理掉的學(xué)生成績(jī)表
第三步:k-means算法對(duì)學(xué)生成績(jī)進(jìn)行分析處理
確定聚類個(gè)數(shù)k值,聚類個(gè)數(shù)要接近于所用的聚類變量的個(gè)數(shù),本次實(shí)驗(yàn)選取k=4。通過數(shù)據(jù)初始中心分析,隨機(jī)選擇幾個(gè)學(xué)生的學(xué)習(xí)成績(jī)作為初始聚類中心,通過matlab算法實(shí)現(xiàn)。
實(shí)驗(yàn)結(jié)果可視化:(見圖3-圖7)
(1)由圖3可知,第二類學(xué)生成績(jī)?yōu)閮?yōu)秀,第一類學(xué)生成績(jī)?yōu)榱己?,第三類學(xué)生成績(jī)?yōu)橹械?,第四類學(xué)生成績(jī)?yōu)槠睢Mㄟ^計(jì)算,優(yōu)秀和良好的人數(shù)占總?cè)藬?shù)的47%,中等和偏差的人數(shù)占總?cè)藬?shù)的48%,其余為存在掛科學(xué)生的比例,說明本文隨機(jī)選取的這個(gè)專業(yè)整體的學(xué)習(xí)狀態(tài)有待進(jìn)步,相關(guān)教職人員和教師應(yīng)該采取必要的措施提高學(xué)生學(xué)習(xí)的積極性。同時(shí),通過分析研究還可以發(fā)現(xiàn),每一科學(xué)生成績(jī)隨中心的變化都會(huì)影響整體成績(jī)的分布情況,特別是像會(huì)計(jì)學(xué)、概率論、信息資源管理等加權(quán)比較重的科目。
(2)如圖4、5、6、7所示,距離第二個(gè)聚類中心更近的21名學(xué)生聚成一類;距離第三個(gè)聚類中心更近的52名學(xué)生聚成一類;距離第四個(gè)聚類中心更近的44名學(xué)生聚成一類;距離第一個(gè)聚類中心更近的73名學(xué)生聚成一類。從中可以看出相近的成績(jī)都被劃分到了同一類,從而彌補(bǔ)了傳統(tǒng)劃分方法“在學(xué)生成績(jī)差別不大的情況下,經(jīng)過劃分后結(jié)果可能相差很大”的缺陷。
(3)聚類分析技術(shù)的應(yīng)用不僅可以使190名學(xué)生清楚自己相對(duì)于整體成績(jī)的位置,還可以體現(xiàn)某類學(xué)生某些學(xué)科的不足,從而提醒教學(xué)人員針對(duì)性地采取相應(yīng)的措施,實(shí)驗(yàn)結(jié)果可以為教學(xué)人員制定出有針對(duì)性的解決辦法提供依據(jù),從而提高學(xué)生后期的學(xué)習(xí)成績(jī)。
本文研究k-means聚類算法在學(xué)生成績(jī)?cè)u(píng)價(jià)分析中的應(yīng)用。通過對(duì)數(shù)據(jù)的預(yù)處理,采用k-means算法,利用matlab工具對(duì)數(shù)據(jù)進(jìn)行處理分析,彌補(bǔ)了傳統(tǒng)統(tǒng)計(jì)方法的缺陷。并針對(duì)不同類型的學(xué)生,給出了學(xué)生自我發(fā)展策略和教學(xué)管理策略,從而為后期提高學(xué)生成績(jī)和教學(xué)質(zhì)量做準(zhǔn)備。
[1]譚慶.基于k-means聚類算法的試卷成績(jī)分析研究[J].河南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,39(4):412-415.
[2]劉婷,郭海湘,諸克軍,高思維.一種改進(jìn)的遺傳kmeans聚類算法[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2007,37(8):104-111.
[3]周愛武,于亞飛.k-means聚類算法的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):61-65.
[4]張麗偉,李禮.Web挖掘中數(shù)據(jù)預(yù)處理技術(shù)研究[J].電腦知識(shí)與技術(shù),2010,6(15):4324-4325.