邵文昭 張書強(qiáng) 王曉輝 張文新
(邯鄲職業(yè)技術(shù)學(xué)院 電子信息工程系,河北 邯鄲 056005)
高職院校的學(xué)生來(lái)自多種錄取類別。其中,計(jì)算機(jī)類的生源主要包含普招—理工、普招—文史、對(duì)口—計(jì)算機(jī)、單招等。對(duì)于大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)來(lái)說(shuō),由于其本身的學(xué)科特點(diǎn),最主要的生源來(lái)自于普招—理工(以下簡(jiǎn)稱普招)和對(duì)口—計(jì)算機(jī)(以下簡(jiǎn)稱對(duì)口)兩種類別。在教學(xué)實(shí)踐中,我們發(fā)現(xiàn),這兩類學(xué)生入學(xué)之后的課程學(xué)習(xí)表現(xiàn)有所不同。我們猜測(cè),這種不同可能源于這兩類學(xué)生在學(xué)習(xí)經(jīng)歷、成長(zhǎng)經(jīng)歷、課程基礎(chǔ)等方面的差別。
為了更深入地發(fā)現(xiàn)錄取類別和課程學(xué)習(xí)表現(xiàn)之間的內(nèi)在聯(lián)系,我們使用數(shù)據(jù)統(tǒng)計(jì)和機(jī)器學(xué)習(xí)的方法建立了根據(jù)課程學(xué)習(xí)表現(xiàn)反推出學(xué)生錄取類別的分類模型。為了給分類模型提供訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),我們使用pandas數(shù)據(jù)統(tǒng)計(jì)工具對(duì)邯鄲職業(yè)技術(shù)學(xué)院大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)2019級(jí)部分學(xué)生的錄取數(shù)據(jù)和成績(jī)表格進(jìn)行了整理,并建立了數(shù)據(jù)集。我們的分類器以各科學(xué)習(xí)成績(jī)?yōu)樘卣?,以錄取類別為類標(biāo)。
我們建立分類器是為了發(fā)現(xiàn)不同類別的學(xué)生在課程學(xué)習(xí)表現(xiàn)上的差異,而不是為了計(jì)算出學(xué)生的錄取類別。因此,我們使用了可解釋性很強(qiáng)的CART決策樹模型[1]。我們使用5折交叉驗(yàn)證的方法測(cè)試了模型在不同深度、不同特征選擇準(zhǔn)則(包括信息增益率和基尼系數(shù))下的分類正確率。實(shí)驗(yàn)結(jié)果表明,6層深、使用信息增益率作為特征選擇準(zhǔn)則的模型具有最高的驗(yàn)證正確率。我們?cè)诖_定模型的超參數(shù)之后使用全部數(shù)據(jù)集訓(xùn)練出了最終的模型,并將這個(gè)模型可視化。模型的可視化結(jié)果表明,在大學(xué)一年級(jí)第一學(xué)期的學(xué)習(xí)中,對(duì)口類學(xué)生在專業(yè)課的學(xué)習(xí)上優(yōu)勢(shì)較為明顯,而普招類學(xué)生在通識(shí)課的學(xué)習(xí)上有著一定的優(yōu)勢(shì)。在專業(yè)課程中,微機(jī)原理對(duì)學(xué)生類別的區(qū)分度較為明顯;在通識(shí)課中,大學(xué)生心理健康對(duì)學(xué)生類別的區(qū)分度較為明顯。據(jù)此,我們建議在大一上學(xué)期開(kāi)設(shè)一門“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程,或是在微機(jī)原理課程的主要內(nèi)容之前增加對(duì)大學(xué)計(jì)算機(jī)基礎(chǔ)知識(shí)的介紹,讓專業(yè)知識(shí)的學(xué)習(xí)曲線變得相對(duì)平緩。
我們使用的數(shù)據(jù)來(lái)自于四張Excel表格,包括邯鄲職業(yè)技術(shù)學(xué)院大數(shù)據(jù)技術(shù)與應(yīng)用2019-1班的19-20學(xué)年第一學(xué)期成績(jī)表、大數(shù)據(jù)技術(shù)與應(yīng)用2019-2班的19-20學(xué)年第一學(xué)期成績(jī)表、學(xué)生信息匯總表、招生數(shù)據(jù)表,通過(guò)對(duì)這四張表進(jìn)行數(shù)據(jù)清洗、行列操作、表格連接、表格拼接,我們得到了以學(xué)號(hào)、姓名、總成績(jī)、各科成績(jī)?yōu)榱袑傩缘腄ataFrame二維表。我們以這個(gè)二維表作為數(shù)據(jù)集,這個(gè)數(shù)據(jù)集包含了兩個(gè)類別共63個(gè)樣本點(diǎn)。這些樣本包含了大數(shù)據(jù)技術(shù)與應(yīng)用2019-1班和2019-2班所有的普招—理工類學(xué)生和對(duì)口類學(xué)生,沒(méi)有經(jīng)過(guò)任何形式的人為篩選。我們的數(shù)據(jù)整理過(guò)程使用的是Python語(yǔ)言與Pandas庫(kù)。
決策樹模型是機(jī)器學(xué)習(xí)領(lǐng)域常用的一種監(jiān)督型學(xué)習(xí)模型,其結(jié)構(gòu)猶如一顆倒立的樹,由根節(jié)點(diǎn)、分支和葉子節(jié)點(diǎn)構(gòu)成,每個(gè)非葉節(jié)點(diǎn)使用一個(gè)特征對(duì)樣本進(jìn)行分類。這類模型的優(yōu)勢(shì)之一是可解釋性很強(qiáng)。由于我們構(gòu)建分類器的主要目的是分析各類別學(xué)生的課程學(xué)習(xí)情況,并由此改進(jìn)教學(xué)內(nèi)容和教學(xué)方法,我們選擇了具有很強(qiáng)可解釋性的決策樹模型。
本文的第二部分“數(shù)據(jù)的整理”當(dāng)中描述了通過(guò)數(shù)據(jù)處理的方式建立數(shù)據(jù)集的過(guò)程。我們以二維表的各科成績(jī)和總成績(jī)?yōu)樘卣鳌⒁钥忌愋蜑闃?biāo)簽,構(gòu)建了用于建立決策樹的數(shù)據(jù)集。在這個(gè)過(guò)程中,我們選取了總成績(jī)以及各科成績(jī)作為特征,并選取了學(xué)生的錄取類別(普招和對(duì)口)作為類別標(biāo)簽。使用各科成績(jī)作為特征,是為了考察不同類別的學(xué)生在不同課程上的表現(xiàn)。使用總成績(jī)作為特征,是為了考察不同類別學(xué)生的總成績(jī)是否存在著明顯差異。
我們將CART算法與C4.5算法相結(jié)合,即采用CART算法的二叉樹機(jī)制與C4.5算法的信息增益率。這樣一來(lái),我們建立的就是采用信息增益率作為特征選擇準(zhǔn)則的二叉決策樹。之所以采用了CART算法,是因?yàn)槲覀儤?gòu)建的是以“理工”(指普招—理工)和“對(duì)口”作為類別標(biāo)簽的二分類決策樹;之所以采用C4.5算法的信息增益率而不是CART算法的基尼系數(shù),是因?yàn)槲覀兊臄?shù)據(jù)集較小、維度較低。在這種情況下,基尼系數(shù)無(wú)法發(fā)揮其算法效率的優(yōu)勢(shì),而其準(zhǔn)確率又不如信息增益率。這一點(diǎn),在本文的實(shí)驗(yàn)中會(huì)有所體現(xiàn)。
為了確定分類器的節(jié)點(diǎn)分隔的依據(jù)、層數(shù)等超參數(shù),并且在確定超參數(shù)之后使用盡量多的數(shù)據(jù)訓(xùn)練模型,我們采取如下的方式建立分類器:
1.用交叉驗(yàn)證的方式確定分類器的層數(shù)和特征選擇準(zhǔn)則這兩個(gè)超參數(shù);
2.在確定了超參數(shù)之后,使用全部訓(xùn)練數(shù)據(jù)訓(xùn)練分類器模型。
我們建立的是決策樹分類器。如前文所示,我們使用的是CART決策樹,但在損失函數(shù)的選擇上嘗試使用了CART[2][3]的基尼系數(shù)和C4.5[4]的信息增益率[5]這兩種方法作為節(jié)點(diǎn)劃分的依據(jù),并且嘗試了不同的層數(shù)。為了得到更接近與最好效果的超參數(shù),我們使用了交叉驗(yàn)證的方式??紤]到我們的數(shù)據(jù)集僅包含63條數(shù)據(jù),我們采用了五折交叉驗(yàn)證的方式。由于我們的目的是得到一個(gè)能夠描述錄取類別和入學(xué)以后課程學(xué)習(xí)表現(xiàn)之間內(nèi)在聯(lián)系的工具,而不是建立一個(gè)用于區(qū)分錄取類別的模型,分類器在全部數(shù)據(jù)集上的表現(xiàn)也是我們所關(guān)注的。我們一共嘗試使用了8組超參數(shù),其五折驗(yàn)證正確率和全部數(shù)據(jù)集作為訓(xùn)練集和驗(yàn)證集得到的驗(yàn)證正確率如表1所示。
表1 采用不同超參數(shù)的決策樹的交叉驗(yàn)證正確率和使用全部數(shù)據(jù)集得到的正確率
表1收集了兩類正確率——交叉驗(yàn)證的正確率和在全部數(shù)據(jù)集上訓(xùn)練得到的正確率,兩種之間采用“/”分隔。前者用于描述分類器的分類性能,后者則是描述分類器對(duì)數(shù)據(jù)集特征描述的精細(xì)程度。
理論上,我們還應(yīng)該實(shí)驗(yàn)7層的決策樹。但由于我們的剪枝策略,決策樹的深度最多只能達(dá)到6層。因此,我們只實(shí)驗(yàn)了深度為3,4,5,6的情況。
顯然,從分類性能的角度分析,我們采用的超參數(shù)為:使用信息增益率作為損失函數(shù),采用6層深度的決策樹(即不限制決策樹的深度);從對(duì)數(shù)據(jù)描述的精細(xì)程度的角度分析,我們采用的超參數(shù)為:采用6層深度的決策樹。綜合分類性能和精細(xì)程度,我們采用信息增益率為損失函數(shù),并且將決策樹的程度設(shè)置為6層(相當(dāng)于不限制決策樹的層數(shù))。我們將這樣得到的決策樹可視化,如圖1所示。
圖 1 可視化的決策樹模型
圖1當(dāng)中的每個(gè)框表示決策樹的一個(gè)節(jié)點(diǎn),“class=對(duì)口”的意思是以對(duì)口為正類、普招為負(fù)類,value=[a,b]的意思是該節(jié)點(diǎn)所包含的正類和負(fù)類的樣本數(shù)分別為a和b,samples表示樣本數(shù),entropy表示該節(jié)點(diǎn)的信息熵。節(jié)點(diǎn)的顏色表示節(jié)點(diǎn)當(dāng)中樣本的類別情況:藍(lán)色節(jié)點(diǎn)表示普招學(xué)生占多數(shù)的節(jié)點(diǎn),橙色節(jié)點(diǎn)表示對(duì)口學(xué)生占多數(shù)的節(jié)點(diǎn)。顏色越深,信息熵越低,節(jié)點(diǎn)的“純度”越高。這里的信息熵采用C4.5算法當(dāng)中的信息熵定義[4],如下所示:
其中,pi= P(X=xi),i= 1,2,...,n。這里的X是離散型隨機(jī)變量。
從圖1可視化的決策樹中,我們有如下發(fā)現(xiàn):
1.微機(jī)原理的成績(jī)與錄取類別之間具有很強(qiáng)的相關(guān)性。微機(jī)原理成績(jī)大于82分的學(xué)生均為對(duì)口類學(xué)生。這是因?yàn)閷?duì)口類學(xué)生在入學(xué)時(shí)就有了一定的專業(yè)課基礎(chǔ),對(duì)計(jì)算機(jī)不陌生。而絕大多數(shù)普招類學(xué)生在入學(xué)前并沒(méi)有接觸過(guò)專業(yè)課。在這樣的情況下,普招類學(xué)生在初次接觸微機(jī)原理課程當(dāng)中的運(yùn)算器、控制器、存儲(chǔ)器等概念時(shí)很容易糊涂。
2.與微機(jī)原理不一樣的是,C語(yǔ)言程序設(shè)計(jì)的成績(jī)與錄取類別之間的相關(guān)性不明顯。這是因?yàn)镃語(yǔ)言程序設(shè)計(jì)成績(jī)體現(xiàn)的主要是編程與邏輯思維能力,而不是對(duì)硬件的操作能力。即使這樣,這門課程的成績(jī)和錄取類別之間還是呈現(xiàn)出了一定的相關(guān)性。
3.大學(xué)生心理健康課程的成績(jī)與錄取類別之間也具有較強(qiáng)的相關(guān)性。在微機(jī)原理成績(jī)不超過(guò)82分的學(xué)生當(dāng)中,大學(xué)生心理健康課程成績(jī)大于87分的絕大部分是普招類學(xué)生。這是因?yàn)榇髮W(xué)生心理健康課程的考試采用的是筆試的方式,而這樣的考察方式顯然是相對(duì)有利于統(tǒng)招類考生的。
4.演講與口才的課程成績(jī)與錄取類別之間也存在較強(qiáng)的相關(guān)性,并且對(duì)口生在這門課的表現(xiàn)要好于普招生。這可能是因?yàn)閯側(cè)雽W(xué)的對(duì)口生比剛?cè)雽W(xué)的普招生更善于社交和言語(yǔ)表達(dá)。
進(jìn)一步,我們提出如下建議:
在大一上學(xué)期開(kāi)設(shè)一門“大學(xué)計(jì)算機(jī)基礎(chǔ)”課程,或是在微機(jī)原理課程的主要內(nèi)容之前增加對(duì)大學(xué)計(jì)算機(jī)基礎(chǔ)知識(shí)的介紹,讓普招類學(xué)生在入學(xué)以后對(duì)計(jì)算機(jī)的中央處理器、存儲(chǔ)器、網(wǎng)絡(luò)、數(shù)字電路、程序、數(shù)據(jù)等概念有個(gè)基本的了解,這樣可以讓專業(yè)知識(shí)的學(xué)習(xí)曲線變得相對(duì)平緩,也更容易被學(xué)生們接受。
本文整理了邯鄲職業(yè)技術(shù)學(xué)院大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)2019級(jí)學(xué)生的錄取類別和大一上學(xué)期各科的學(xué)習(xí)成績(jī),并通過(guò)機(jī)器學(xué)習(xí)的方法建立了用于發(fā)掘錄取類別和課程學(xué)習(xí)表現(xiàn)之間關(guān)系的決策樹模型。這個(gè)模型可以通過(guò)學(xué)生入學(xué)以后的課程學(xué)習(xí)表現(xiàn)反推出其錄取類別,并在測(cè)試集上取得了81.15%的正確率。這揭示了錄取類別和課程學(xué)習(xí)表現(xiàn)之間具有某種內(nèi)在聯(lián)系。通過(guò)可視化決策樹模型,我們分析了課程成績(jī)和錄取類別之間的關(guān)系,并有針對(duì)性地提出了課程設(shè)置和教學(xué)內(nèi)容方面的改進(jìn)意見(jiàn)。
邯鄲職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年3期