胡 佳
(南昌師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院,南昌 330029)
數(shù)據(jù)挖掘是一種從大量數(shù)據(jù)中提取潛在的和有價(jià)值的知識(shí)的過(guò)程。所謂的分類(lèi)是把數(shù)據(jù)庫(kù)的記錄映射到一個(gè)已經(jīng)定義好的類(lèi)中的過(guò)程。實(shí)現(xiàn)分類(lèi)的方法有很多,包括機(jī)器學(xué)習(xí)方法、神經(jīng)網(wǎng)絡(luò)和統(tǒng)計(jì)方法等,其中機(jī)器學(xué)習(xí)的決策樹(shù)方法是一個(gè)比較熱門(mén)的方向,其是通過(guò)信息論中的信息增益去尋找數(shù)據(jù)庫(kù)中具有最大信息量的屬性,建立決策樹(shù)的一個(gè)可以分裂的結(jié)點(diǎn),再根據(jù)這個(gè)屬性字段的不同取值去建立樹(shù)的分支。決策樹(shù)方便于企事業(yè)單位管理部門(mén)做出決策。決策樹(shù)學(xué)習(xí)算法的一個(gè)最大的優(yōu)點(diǎn)就是只要在建模過(guò)程中訓(xùn)練事例能夠用“屬性-值”的方式表達(dá)出來(lái),就能使用該算法來(lái)進(jìn)行建模。
決策樹(shù)模型的內(nèi)部結(jié)點(diǎn)是測(cè)試的屬性,葉子結(jié)點(diǎn)是最后測(cè)試的類(lèi)別,分支是測(cè)試屬性的值。從決策樹(shù)的根到葉子結(jié)點(diǎn)的路徑就是一條分類(lèi)規(guī)則。分類(lèi)的過(guò)程分為兩步:建立模型和使用模型。建立模型是通過(guò)給定的訓(xùn)練集找到適合的映射函數(shù):->的表示模型,(該步也稱(chēng)為有指導(dǎo)的學(xué)習(xí)),這里建立模型階段也分為兩步:樹(shù)的構(gòu)造和樹(shù)的剪枝,其中樹(shù)的剪枝包括預(yù)先剪枝和后剪枝兩種方法;使用模型是使用上一步訓(xùn)練完成的函數(shù)模型預(yù)測(cè)新數(shù)據(jù)的類(lèi)別,或者對(duì)數(shù)據(jù)集中的每一類(lèi)別進(jìn)行描述,形成分類(lèi)規(guī)則。這里我們一般采用交叉驗(yàn)證法來(lái)評(píng)估模型,也就是在訓(xùn)練開(kāi)始前將一部分?jǐn)?shù)據(jù)保留,在訓(xùn)練后,利用這部分?jǐn)?shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證,一般認(rèn)為準(zhǔn)確率在60%的就比較合理。
決策樹(shù)數(shù)據(jù)挖掘的一般步驟為:數(shù)據(jù)預(yù)處理,采用決策樹(shù)算法進(jìn)行挖掘,評(píng)價(jià)與表示。
整個(gè)C4.5的工作流程如圖1所示。
圖1 C4.5算法流程圖
為了配合學(xué)校的發(fā)展我們構(gòu)建了數(shù)字化校園,目前已經(jīng)有了自己的信息門(mén)戶平臺(tái),在這個(gè)平臺(tái)中可以進(jìn)行網(wǎng)上輔助教學(xué),也可以完成一般的教務(wù)管理,比如在這個(gè)系統(tǒng)中可以輸入學(xué)生成績(jī)并生成成績(jī)分析表,通過(guò)成績(jī)分析表得出學(xué)生成績(jī)的分布情況,方便老師總結(jié)學(xué)生本次考試成績(jī)的基本情況,但是這種成績(jī)分析僅僅停留在表面,更多的還是出于教師的教學(xué)經(jīng)驗(yàn)判斷。
因此,本文采用決策樹(shù)方法中的C4.5算法,挖掘出考試成績(jī)與影響教學(xué)的各種因素之間隱藏的內(nèi)在聯(lián)系。比如,教學(xué)改革的對(duì)象是計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生,教學(xué)改革的課程是數(shù)據(jù)結(jié)構(gòu),在這門(mén)計(jì)算機(jī)專(zhuān)業(yè)的重要基礎(chǔ)課程教學(xué)過(guò)程中,影響學(xué)生最終教學(xué)效果的因素有學(xué)生自身的基礎(chǔ)、課堂教學(xué)方法和模式等,本次挖掘就是針對(duì)學(xué)生是否有畏懼情緒,先續(xù)課程是否扎實(shí),教學(xué)的手段是否采用了多媒體,是否開(kāi)辟了第二課堂等多方面因素對(duì)數(shù)據(jù)結(jié)構(gòu)成績(jī)的影響進(jìn)行挖掘,得出內(nèi)在的規(guī)則,這里的第二課堂主要是采用多媒體的形式,為教學(xué)改革提供有利的理論支撐,并且在今后的教學(xué)中“對(duì)癥下藥”。本文首先對(duì)收集到的數(shù)據(jù)進(jìn)行預(yù)處理。
本文挖掘的對(duì)象為接受過(guò)數(shù)據(jù)結(jié)構(gòu)教學(xué)的計(jì)算機(jī)系的大一學(xué)生,其中包括進(jìn)行教改的普通班學(xué)生和未進(jìn)行教改的實(shí)驗(yàn)班學(xué)生;挖掘的數(shù)據(jù)集包括學(xué)生的成績(jī)數(shù)據(jù)庫(kù),以及采用調(diào)查問(wèn)卷形式收集的學(xué)生相關(guān)信息情況表,將他們進(jìn)行對(duì)比最后得出影響學(xué)生成績(jī)的潛在因素以及教學(xué)改革的效果,對(duì)調(diào)查問(wèn)卷中的空白項(xiàng)進(jìn)行忽略,對(duì)學(xué)生成績(jī)進(jìn)行規(guī)范化,將數(shù)據(jù)集成得出表1。表1中的畏懼情緒有兩個(gè)屬性:是和否;采用網(wǎng)上學(xué)堂的兩個(gè)屬性:是和否;教學(xué)方式為兩種屬性:傳統(tǒng)教學(xué)全板書(shū)和采用1/3多媒體;C語(yǔ)言成績(jī)的三個(gè)屬性:良好、一般和不合格;數(shù)據(jù)結(jié)構(gòu)分類(lèi)的兩個(gè)屬性:良好和一般(其中分?jǐn)?shù)≤75分為一般,分?jǐn)?shù)>75為良好)。
表1 課程教學(xué)以及調(diào)查信息預(yù)處理后
本文采用C4.5算法進(jìn)行數(shù)據(jù)挖掘,計(jì)算其信息增益率。訓(xùn)練集的樣本數(shù)有350個(gè),其中數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有152個(gè)樣本,數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有198個(gè)樣本。其信息增益率計(jì)算過(guò)程如下:
首先根據(jù)公式計(jì)算分類(lèi)屬性的信息熵,Info(D)=-152/350×log(152/350)-198/350×log(198/350)=0.9875,根據(jù)公式,依次計(jì)算每個(gè)測(cè)試屬性的信息量。
(1)畏懼情緒屬性中屬性值為“是”的有200個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有94個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有106;畏懼情緒屬性中屬性值為“否”的有150個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有58個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有92個(gè),
Info畏 懼 情 緒(D)=200/350×(-log(94/200)-log(106/200))+150/350×(-log(58/150)-log(92/150))=2.0356。
(2)網(wǎng)上學(xué)堂教學(xué)屬性中屬性值為“是”的有173個(gè),其中數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有101個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有62;網(wǎng)上學(xué)堂屬性中屬性值為“否”有177個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有51個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有126個(gè),
Info是否采用網(wǎng)上學(xué)堂(D)=173/350×(-log(101/173)-log(62/173))+177/350×(-log(51/177)-log(126/177))=2.2713。
(3)教學(xué)方法屬性中屬性值為“1/3多媒體”有213個(gè),其中數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有121個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有92;網(wǎng)上學(xué)堂屬性中屬性值為“板書(shū)”有137個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有31個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有106個(gè),
Info教 學(xué) 方 法(D)=213/350×(-log(121/213)-log(92/213))+137/350×(-log(31/137)-log(106/137))=2.2176。
(4)C語(yǔ)言成績(jī)屬性中屬性值為“良好”的有144個(gè),其中數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有95個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有49;C語(yǔ)言成績(jī)中屬性值為“一般”有206個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)良好的有57個(gè),數(shù)據(jù)結(jié)構(gòu)成績(jī)一般的有149個(gè),
InfoC語(yǔ) 言 成 績(jī)(D)=144/350×(-log(95/144)-log(49/144))+206/350×(-log(57/206)-log(149/206)=2.2528。
因此:
Gain(畏懼情緒)=Info(D)-Info畏懼情緒(D)=0.9875-2.0356=-1.0481;
Gain(是否采用網(wǎng)上學(xué)堂)=Info(D)-Info是否采用網(wǎng)上學(xué)堂(D)=0.9875-2.2713=-1.2838;
Gain(教學(xué)方法)=Info(D)-Info教學(xué)方法(D)=0.9875-2.2176=-1.2301;
Gain(C語(yǔ)言成績(jī))=Info(D)-InfoC語(yǔ)言成績(jī)(D)=0.9875-2.2528=-1.2653;
SplitInfo(畏懼情緒)=-200350×log(200/350)-150/350×log(150/350)=0.9852;
SplitInfo(是否采用網(wǎng)上學(xué)堂)=-173/350×log(173/350)-177/350×log(177/350)=0.9999;
SplitInfo(教學(xué)方法)=-213/350×log(213/350)-137/350×log(137/350)=0.9657;
SplitInfo(C語(yǔ)言成績(jī))=-144/350×log(144/350)-206/350×log(206/350)=0.9772;
GainRatio(畏懼情緒)=Gain(畏懼情緒)/SplitInfo(畏懼情緒)=-1.0481/0.9852=-1.0638;
GainRatio(是否采用網(wǎng)上學(xué)堂)=Gain(是否采用網(wǎng)上學(xué)堂)/SplitInfo(是否采用網(wǎng)上學(xué)堂)=-1.2838/0.9999=-1.2839;
GainRatio(教學(xué)方法)=Gain(教學(xué)方法)/SplitInfo(教學(xué)方法)=-1.2301/0.9657=-1.2738;
GainRatio(C語(yǔ)言成績(jī))=Gain(C語(yǔ)言成績(jī))/SplitInfo(C語(yǔ)言成績(jī))=-1.2653/0.9772=-1.2948。
此時(shí),得出的最大信息增益率是:C語(yǔ)言成績(jī),采用網(wǎng)上學(xué)堂和教學(xué)方法的兩個(gè)屬性可以合并,進(jìn)行分裂后,再按相同的方法進(jìn)行分裂。
圖2 第一次分裂屬性
采用遞歸的思想計(jì)算優(yōu)良分支中的教學(xué)方法和畏難情緒的信息增益率,得到教學(xué)方法的信息率更大,因此將優(yōu)秀分支進(jìn)行教學(xué)方法的劃分,以期僅剩下畏難情緒屬性,可以根據(jù)樣本的比率進(jìn)行分配。
圖3 再一次分裂屬性
同理,通過(guò)迭代完成分支的劃分,最終建立C4.5決策樹(shù)模型,如圖4所示。
圖4 最終的決策樹(shù)模型
因?yàn)閿?shù)據(jù)清理過(guò)程中已經(jīng)對(duì)數(shù)據(jù)進(jìn)行過(guò)處理,所以這里不進(jìn)行剪枝。
采用IF-THEN表示分類(lèi)規(guī)則為:
IF C語(yǔ)言成績(jī)優(yōu)良AND教學(xué)方法為多媒體,那么數(shù)據(jù)結(jié)構(gòu)成績(jī)?yōu)榱己谩?/p>
IF C語(yǔ)言成績(jī)好AND采用板書(shū),那么數(shù)據(jù)結(jié)構(gòu)成績(jī)?yōu)橐话恪?/p>
IF C語(yǔ)言成績(jī)一般,AND有畏難情緒,那么數(shù)據(jù)結(jié)構(gòu)成績(jī)?yōu)橐话恪?/p>
IF C語(yǔ)言成績(jī)一般AND沒(méi)有畏難情緒AND教學(xué)方法為多媒體,那么數(shù)據(jù)結(jié)構(gòu)成績(jī)?yōu)榱己谩?/p>
IF C語(yǔ)言成績(jī)一般AND沒(méi)有畏難情緒AND教學(xué)方法采用板書(shū),那么數(shù)據(jù)結(jié)構(gòu)成績(jī)?yōu)橐话恪?/p>
本文通過(guò)預(yù)處理,然后對(duì)數(shù)據(jù)結(jié)構(gòu)成績(jī)進(jìn)行挖掘,得到了不同教學(xué)方法的重要性,數(shù)據(jù)結(jié)構(gòu)是一門(mén)比較抽象的計(jì)算機(jī)課程,采用一定的多媒體教學(xué)對(duì)學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)知識(shí)是有幫助的。在今后的教學(xué)過(guò)程中,我們可以選擇數(shù)據(jù)挖掘的各種方法和算法進(jìn)行教學(xué)方面的挖掘,以達(dá)到輔助教師教學(xué)的決策。