劉志嫵
(沈陽(yáng)理工大學(xué)信息科學(xué)與工程學(xué)院,遼寧沈陽(yáng) 110159)
隨著海量數(shù)據(jù)收集、強(qiáng)大的多處理器計(jì)算機(jī)和數(shù)據(jù)挖掘算法三種基礎(chǔ)技術(shù)的發(fā)展成熟,數(shù)據(jù)挖掘技術(shù)在商業(yè)及電子商務(wù)應(yīng)用中已經(jīng)大量投入使用。目前隨著高等教育改革的不斷深入,數(shù)據(jù)挖掘技術(shù)正在向該領(lǐng)域發(fā)展。
高等教育的重點(diǎn)是提高教育質(zhì)量,為社會(huì)培養(yǎng)具有綜合素質(zhì)的復(fù)合型人才。而提高學(xué)生成績(jī)是衡量教學(xué)質(zhì)量的主要依據(jù)之一,也是評(píng)價(jià)學(xué)生對(duì)知識(shí)的掌握程度的重要標(biāo)志之一,因此,通過(guò)對(duì)學(xué)生成績(jī)進(jìn)行預(yù)測(cè)分析,可以為教學(xué)管理者深化教學(xué)改革,合理安排教學(xué)計(jì)劃,提高教學(xué)質(zhì)量提供重要依據(jù)。
數(shù)據(jù)庫(kù)系統(tǒng)雖然可以高效地實(shí)現(xiàn)數(shù)據(jù)的錄入、查詢和統(tǒng)計(jì)的功能,但卻無(wú)法發(fā)現(xiàn)海量數(shù)據(jù)中隱藏的關(guān)系和規(guī)則。而采用數(shù)據(jù)挖掘技術(shù),可以從海量數(shù)據(jù)中發(fā)現(xiàn)隱藏的知識(shí)和規(guī)律。
各學(xué)校多年來(lái)積累了大量的學(xué)生成績(jī)數(shù)據(jù),將數(shù)據(jù)挖掘技術(shù)應(yīng)用于成績(jī)預(yù)測(cè)分析,可以對(duì)其進(jìn)行全面分析,找到潛在的影響學(xué)生成績(jī)的因素,使教學(xué)管理者可以得到許多有價(jià)值的信息和知識(shí),并利用其提高教學(xué)質(zhì)量和教學(xué)管理水平。
目前數(shù)據(jù)挖掘技術(shù)在教學(xué)領(lǐng)域中的應(yīng)用在逐漸增多,例如將數(shù)據(jù)挖掘技術(shù)用于學(xué)生綜合排名的分析[1],有的用于試卷分析[2],也有用于學(xué)生的文理分科的分析[3]。
本文主要研究用數(shù)據(jù)挖掘中的決策樹(shù)算法,對(duì)學(xué)校的學(xué)生成績(jī)數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,建立學(xué)生成績(jī)的預(yù)測(cè)分析模型及分類規(guī)則,力求找到基礎(chǔ)課、專業(yè)基礎(chǔ)課及專業(yè)課之間潛在的聯(lián)系,并用實(shí)例進(jìn)行驗(yàn)證。
決策樹(shù)方法是利用信息論中的互信息(信息增益)尋找數(shù)據(jù)庫(kù)中具有最大信息量的屬性字段,建立決策樹(shù)的一個(gè)結(jié)點(diǎn),再根據(jù)該屬性字段的不同取值建立樹(shù)的分支。每個(gè)分支子集中重復(fù)建立樹(shù)的下層結(jié)點(diǎn)和分支的過(guò)程[4]。采用決策樹(shù),可以將數(shù)據(jù)規(guī)則可視化,不需要長(zhǎng)時(shí)間的構(gòu)造過(guò)程,實(shí)際應(yīng)用中的決策樹(shù)可能很復(fù)雜,但每一條從根結(jié)點(diǎn)到葉結(jié)點(diǎn)的路徑的含義仍然是可以理解的。決策樹(shù)的這種易于理解性,對(duì)于數(shù)據(jù)挖掘的使用者來(lái)說(shuō)是一個(gè)顯著的優(yōu)點(diǎn),因此決策樹(shù)方法在知識(shí)發(fā)現(xiàn)系統(tǒng)中應(yīng)用較廣泛。
決策樹(shù)是通過(guò)一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類。該方法的思路就是從訓(xùn)練集數(shù)據(jù)中,自動(dòng)地構(gòu)造決策樹(shù),從而可以根據(jù)這個(gè)決策樹(shù)對(duì)任意實(shí)例進(jìn)行判定。決策樹(shù)可分為分類樹(shù)和回歸樹(shù)兩種,分類樹(shù)對(duì)離散變量做決策樹(shù),而回歸樹(shù)是對(duì)連續(xù)變量做決策樹(shù)。決策樹(shù)算法的核心是確定分支準(zhǔn)則,即如何從眾多的屬性中選擇一個(gè)最佳的分支屬性。
最早的決策樹(shù)算法是由Hunt等人[5]于1966年提出的概念學(xué)習(xí)系統(tǒng)CLS(Concept Learn System),CLS的不足之處是它處理的問(wèn)題不能太大,為此Quinlan于1986年提出了ID3算法,ID3只能處理離散型描述屬性,Quinlan于1993年又提出了能處理連續(xù)屬性的C4.5算法。C4.5算法是ID3的改進(jìn)算法,不僅可以處理離散型描述屬性,還能處理連續(xù)型描述屬性[5]。本文根據(jù)需求確定分析目標(biāo),采用C4.5算法建立決策樹(shù)分析模型和分類規(guī)則,很好地對(duì)學(xué)生成績(jī)進(jìn)行預(yù)測(cè)分析。
決策樹(shù)C4.5算法用信息增益比作為選擇根結(jié)點(diǎn)和各內(nèi)部結(jié)點(diǎn)中分支屬性的評(píng)價(jià)標(biāo)準(zhǔn),克服了ID3算法使用信息增益選擇屬性時(shí)偏向于取值較多的屬性的不足。其處理數(shù)據(jù)的過(guò)程如下。
1)元數(shù)據(jù)預(yù)處理
通過(guò)ETL將所有的元數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)倉(cāng)庫(kù),如果元數(shù)據(jù)是連續(xù)型,則應(yīng)離散化處理。
2)算每個(gè)屬性的信息增益和信息增益率計(jì)算過(guò)程如下:
(1)計(jì)算每個(gè)訓(xùn)練集分類信息的期望值
設(shè)訓(xùn)練數(shù)據(jù)集為T(mén),在T中類別標(biāo)識(shí)屬性有m個(gè)獨(dú)立的取值,即定義了m個(gè)分類Ci,i=1,2,3,...,m,Ri為數(shù)據(jù)集 T 中屬于 Ci類的子集,ri是Ri中元組的數(shù)量,則T在分類中的期望信息量可由式(1)計(jì)算。
(2)計(jì)算屬性A的信息熵
假設(shè)屬性A具有n個(gè)不同的取值{a1,a2,…,an},則通過(guò)屬性A的取值將數(shù)據(jù)集T劃分為n個(gè)子集,其中Tj表示在數(shù)據(jù)集T中屬性A的取值為aj(j=1,2,…,n)的子集,如果 A 被選為決策屬性,則這些子集將對(duì)應(yīng)該結(jié)點(diǎn)的不同分支。
用 Tij表示 Tj子集中屬于 Ci(i=1,2,3,…,m)類的元組數(shù),則屬性A對(duì)于分類Ci的熵可由式(2)計(jì)算。
屬性A的每個(gè)取值對(duì)分類Ci的期望信息量計(jì)算如下:
(3)計(jì)算屬性A的信息增益
屬性A為分類提供的信息量就是屬性A的信息增益,由式(4)計(jì)算:
(4)計(jì)算信息增益率
信息增益率定義如下:
必須用式(5)對(duì)每個(gè)屬性(A,B,C,…)計(jì)算增益率。
3)構(gòu)造決策樹(shù)
信息增益率是選擇決策樹(shù)分裂屬性的基礎(chǔ),擁有最大增益率的屬性將被選擇作為決策樹(shù)的分支屬性。將要構(gòu)建決策樹(shù)的訓(xùn)練集T,按照計(jì)算的增益率劃分成n個(gè)子集。如果第i個(gè)子集Ti中所有的元組類別相同,該節(jié)點(diǎn)將成為決策樹(shù)的葉結(jié)點(diǎn),并停止分裂。訓(xùn)練集T中不符合上述條件的其它子集將繼續(xù)遞歸分割構(gòu)造樹(shù)的分支,直到所有的子集中的元組屬于同一類別。生成決策樹(shù)后,可以從樹(shù)中提取規(guī)則,用于對(duì)新的數(shù)據(jù)集進(jìn)行分類。
以學(xué)校的工業(yè)電氣自動(dòng)化專業(yè)學(xué)生一些課程成績(jī)數(shù)據(jù)為例,通過(guò)數(shù)據(jù)挖掘分析,找到各科成績(jī)的內(nèi)在聯(lián)系,從而有的放矢,提高學(xué)生的整體學(xué)習(xí)質(zhì)量。學(xué)生成績(jī)數(shù)據(jù)庫(kù)包含學(xué)生序號(hào)(SNO),和某些主要課程的分?jǐn)?shù)。例如:電工基礎(chǔ)(記為FEE)、電機(jī)與拖動(dòng)(記為EMD)、自動(dòng)控制原理(記為ACP),自動(dòng)控制系統(tǒng)(記為ACS)和高等數(shù)學(xué)(記為HM),部分?jǐn)?shù)據(jù)列于表1。
為了便于進(jìn)行數(shù)據(jù)挖掘,對(duì)表1中的數(shù)據(jù)進(jìn)行規(guī)范化,將小于60分的成績(jī)用0表示,大于等于60分的成績(jī)用1表示,結(jié)果將表1轉(zhuǎn)換為一個(gè)數(shù)據(jù)只有0和1的表。
從所有學(xué)生數(shù)據(jù)中抽樣作為數(shù)據(jù)訓(xùn)練集,共有210條記錄。其中各科及格人數(shù)和不及格人數(shù)統(tǒng)計(jì)如表2所示。
表1 學(xué)生成績(jī)表 分?jǐn)?shù)
表2 各門(mén)課成績(jī)統(tǒng)計(jì) 人數(shù)
表2顯示了樣本訓(xùn)練集中,含有基于課程的五個(gè)分類,在每個(gè)類別中,根據(jù)成績(jī)的及格與否將學(xué)生人數(shù)分為兩個(gè)子集。
課程ACS(自動(dòng)控制系統(tǒng))被選為類別標(biāo)識(shí)屬性,其余課程作為決策屬性集。構(gòu)造決策樹(shù)的目的是發(fā)現(xiàn)課程ACS(自動(dòng)控制系統(tǒng))與其它課程的內(nèi)在聯(lián)系。
訓(xùn)練數(shù)據(jù)集中包含210個(gè)元組,其中ACS(自動(dòng)控制系統(tǒng))所對(duì)應(yīng)的子集中的元組數(shù)為:及格人數(shù)r1=137,不及格人數(shù)r2=73。
為了計(jì)算每個(gè)決策屬性的信息增益,首先要計(jì)算課程ACS(自動(dòng)控制系統(tǒng))的期望信息量如下:
進(jìn)一步統(tǒng)計(jì),其它作為決策屬性的任一課程與標(biāo)識(shí)屬性課程ACS的成績(jī)搭配情況,例如課程HM(高等數(shù)學(xué))成績(jī)及格(為1)且課程ACS(自動(dòng)控制系統(tǒng))成績(jī)也及格(為1)的人數(shù)為110人,HM(高等數(shù)學(xué))成績(jī)及格(為1)且ACS(自動(dòng)控制系統(tǒng))成績(jī)不及格(為0)的人數(shù)為52人,HM成績(jī)不及格(為0)且ACS成績(jī)及格(為1)的人數(shù)為27人,HM 成績(jī)不及格(為0)且ACS成績(jī)也不及格(為0)的人數(shù)為21人。其它課程成績(jī)與課程ACS的成績(jī)搭配情況,列于表3。而其它任兩門(mén)課程成績(jī)與標(biāo)識(shí)屬性課程ACS的成績(jī)搭配情況列于表4。其中只列出EMD(電機(jī)與拖動(dòng))和FEE(電工基礎(chǔ))兩門(mén)課成績(jī)與ACS成績(jī)的搭配情況。
表3 兩門(mén)課程的成績(jī)搭配情況
表4 三門(mén)課程的成績(jī)搭配情況
按式(4),得決策屬性HM的信息增益為
按式(5),可得決策屬性HM的信息增益率為
用同樣的方法,可以對(duì)其它決策屬性進(jìn)行信息增益和信息增益率的計(jì)算。計(jì)算結(jié)果列于表5。
表5 各門(mén)課程的信息增益和信息增益率
由表5結(jié)果可知,決策屬性FEE(電工基礎(chǔ))的信息增益率最大,因此將該屬性選作決策樹(shù)的根結(jié)點(diǎn),并且因?yàn)镕EE屬性只有兩種取值:0(不及格)和1(及格),所以,從該結(jié)點(diǎn)可以分裂出兩個(gè)分支:一支為不及格(記為:分支0),另一支為及格的(記為:分支1)。由表3搭配4的數(shù)據(jù)可見(jiàn),F(xiàn)EE和ACS都及格的人數(shù)為108人,占FEE及格人數(shù)(125人,參見(jiàn)表2)的比例為
108/125=0.864
它表示分支1的估計(jì)準(zhǔn)確率為86.4%,滿足設(shè)置的80% 的標(biāo)準(zhǔn),因此分支1可以停止分裂。
在分支0中,F(xiàn)EE不及格人數(shù)為85人(見(jiàn)表2),F(xiàn)EE和ACS都不及格的人數(shù)為60人,準(zhǔn)確率為70.59%,不滿足要求,因此需要進(jìn)一步分裂。
為確定下一個(gè)分支結(jié)點(diǎn),用上述方法計(jì)算除根結(jié)點(diǎn)之外的另三個(gè)屬性的信息增益率,結(jié)果顯示,屬性EMD具有最大的信息增益率,因此它被選擇為根結(jié)點(diǎn)的分支0的下一個(gè)分支結(jié)點(diǎn)。
面對(duì)種種似是而非的說(shuō)法,很多人無(wú)法弄清真相。應(yīng)該說(shuō),這不是老師們的問(wèn)題。因?yàn)檎Z(yǔ)文本色教學(xué),不管怎樣系統(tǒng)全面,不管怎樣立足實(shí)際,它還只是一個(gè)教學(xué)主張,而不是具體的教學(xué)方法。為了推動(dòng)語(yǔ)文課程改革的深入,也為了更好地滿足教師實(shí)踐本色語(yǔ)文教學(xué)主張的需要,我們必須總結(jié)出能體現(xiàn)語(yǔ)文本色教學(xué)主張的教學(xué)方法。
同樣屬性EMD也有兩個(gè)取值0和1,所以也分裂為分支1和分支0。由表4可以看到,在FEE和EMD都不及格的學(xué)生中,有18人ACS成績(jī)不及格,有3人ACS成績(jī)及格,所以在EMD的分支0上,ACS不及格的估計(jì)準(zhǔn)確率為 18/21=85.7%。分支0滿足預(yù)先設(shè)定的標(biāo)準(zhǔn),可以停止分裂。
在表3中也可以看到,在FEE不及格且EMD及格的學(xué)生中,有52人ACS成績(jī)及格,12人不及格,因此在EMD結(jié)點(diǎn)的分支1上,ACS及格的估計(jì)準(zhǔn)確率為:52/64=81.3%,分支1滿足預(yù)先設(shè)定的標(biāo)準(zhǔn),也可以停止分裂。則所構(gòu)造的決策樹(shù)如圖1所示。
圖1 學(xué)生成績(jī)決策樹(shù)
圖1中,結(jié)點(diǎn)X為電工基礎(chǔ)(FEE),結(jié)點(diǎn)Y為電機(jī)與拖動(dòng)(EMD),結(jié)點(diǎn) Z1為自動(dòng)控制系統(tǒng)(ACS)及格,結(jié)點(diǎn)Z0為自動(dòng)控制系統(tǒng)(ACS)不及格。
決策樹(shù)算法的主要優(yōu)勢(shì)就是可以用來(lái)直接抽取分類規(guī)則。對(duì)于圖1的決策樹(shù)從根結(jié)點(diǎn)到每個(gè)葉結(jié)點(diǎn)的路徑用IF…THEN的形式描述分類規(guī)則。這里僅以ACS屬性提取的分類規(guī)則描述如下:
IF電工基礎(chǔ)成績(jī)及格THEN自動(dòng)控制系統(tǒng)成績(jī)通常也及格,準(zhǔn)確率為86.4%,學(xué)生人數(shù)的覆蓋率為125/210=59.5%。
IF電工基礎(chǔ)成績(jī)不及格 并且電機(jī)與拖動(dòng)成績(jī)也不及格THEN自動(dòng)控制系統(tǒng)成績(jī)通常不及格,準(zhǔn)確率為85.7%,學(xué)生人數(shù)的覆蓋率為21/210=10%。
IF電工基礎(chǔ)成績(jī)不及格,但電機(jī)與拖動(dòng)成績(jī)及格THEN自動(dòng)控制系統(tǒng)成績(jī)一般及格,準(zhǔn)確率為81.25%,學(xué)生人數(shù)的覆蓋率為64/210=30.5%。
因此,可以得出結(jié)論:學(xué)生的電工基礎(chǔ)課程學(xué)習(xí)的情況會(huì)嚴(yán)重影響到專業(yè)課自動(dòng)控制系統(tǒng)的學(xué)習(xí)效果。學(xué)生的電機(jī)與拖動(dòng)課程學(xué)習(xí)的情況也會(huì)影響到專業(yè)課自動(dòng)控制系統(tǒng)的學(xué)習(xí)效果。因此,要使學(xué)生學(xué)好專業(yè)課自動(dòng)控制系統(tǒng),必須重視電工基礎(chǔ)課程教學(xué)效果。那些電工基礎(chǔ)課不及格的學(xué)生,必須重視電機(jī)與拖動(dòng)課程的學(xué)習(xí),才能在自動(dòng)控制系統(tǒng)課程上取得好成績(jī)。
本文采用決策樹(shù)C4.5算法,對(duì)學(xué)生的基礎(chǔ)課、專業(yè)基礎(chǔ)課及專業(yè)課成績(jī)進(jìn)行分析,提出了提高學(xué)生的自動(dòng)控制系統(tǒng)專業(yè)課程成績(jī)的決策樹(shù)模型,從而有助于教師有針對(duì)性的開(kāi)展教學(xué)改革,提高授課質(zhì)量。實(shí)驗(yàn)表明,應(yīng)用該算法,構(gòu)造的決策樹(shù)結(jié)構(gòu)簡(jiǎn)單,分類基本正確。本文是使用數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘技術(shù)在教學(xué)管理領(lǐng)域的一個(gè)嘗試,仍有一些問(wèn)題需要進(jìn)一步研究和探索。
[1]楊宇音,趙雅明,曲立敏.因子分析法在大學(xué)生綜合排名中的應(yīng)用[J].貴州大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(1):10 -13.
[2]趙雅明,金祥林,劉志勇.因子分析法在試卷分析中的應(yīng)用[J].數(shù)理統(tǒng)計(jì)與管理,2005,14(???:94 -97.
[3]武麗芬.改進(jìn)的決策樹(shù)算法在文理分科中的應(yīng)用研究[J].微計(jì)算機(jī)應(yīng)用,2011,32(8):7 -12.
[4]陳志泊,韓慧,王建新.數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘[M].北京:清華大學(xué)出版社,2009:111-125.
[5]廖開(kāi)際,劉鳳英,胡建軍.數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘[M].北京:北京大學(xué)出版社,2008:167-173.
[6]王倩.決策樹(shù)在信息檢索中的性能研究[J].微計(jì)算機(jī)信息,2008,1(3):201 -208.