余弦,周誼芬
(南通大學a.杏林學院,b.醫(yī)學院,江蘇 南通 226000)
高校人才培養(yǎng)方案中所計劃開設的課程,一般可分為公共課(包含公共選修課和公共必修課)和專業(yè)課(包含專業(yè)基礎課和專業(yè)課)兩種[1]。一般而言,公共課和專業(yè)課之間有一定的相關性,公共課所學習的內(nèi)容在一定程度上是專業(yè)課內(nèi)容的基礎,熟悉公共課知識對掌握專業(yè)課內(nèi)容具有促進作用[2],但是否每一門公共課的成績都會對相關專業(yè)課的成績產(chǎn)生影響,以及會產(chǎn)生多大的影響,仍有待研究和驗證。
隨著信息技術的快速發(fā)展,數(shù)據(jù)挖掘及相關技術在高校的教學、科研等領域得到不斷拓展應用。數(shù)據(jù)挖掘技術在尋找海量數(shù)據(jù)的內(nèi)在關聯(lián)規(guī)則方面具有效率高、適用靈活等優(yōu)點。在教學過程中累積的學生成績已經(jīng)形成一個體量龐大的數(shù)據(jù)庫,通過數(shù)據(jù)挖掘的相關算法來尋找大量學生成績數(shù)據(jù)之間潛在的關聯(lián)規(guī)律,進而提高高校課程設置合理性和學生學習效率,已經(jīng)成為高等教育管理領域的研究熱點之一[3]。應用FPGrowth算法對某高校部分計算機專業(yè)學生的公共課成績和專業(yè)課成績進行相關性分析,針對二者的關聯(lián)程度展開實證研究,為高校教學計劃的課程設置和教學改革提供有力的科學依據(jù)。
FP-Growth(Frequent Pattern Tree,頻繁模式樹)算法是一種在經(jīng)典Apriori算法基礎上演變而來的挖掘頻繁項集方法[4]。它針對Apriori算法運行效率較低,實現(xiàn)過程中需要多次掃描整個事務集,進而產(chǎn)生大量候選集的缺點做了明顯的改進。FP-Growth算法比Apriori算法效率更高,它將數(shù)據(jù)集存儲于一個按特定順序構成的樹結構(FP樹),通過構建FP樹來壓縮事務數(shù)據(jù)庫中的信息,從而更加有效地產(chǎn)生頻繁項集[5]。在整個算法執(zhí)行過程中,只需遍歷事務集兩次,通過遞歸調用FP樹結構,刪除不符合最小支持度(關聯(lián)度低)的項目,直至最終形成單一的樹結構,就能夠完成頻繁模式的發(fā)現(xiàn)。其發(fā)現(xiàn)頻繁項集的基本過程如下。
將事務數(shù)據(jù)庫中的單個事務記為Tk,而T={T1,T2,...,Tk}是所有事務的集合。事務中所包含的各個項目記為Ik,所有項目的集合I={I1,I2,...,Ik}。FP-Growth算法首先掃描一遍事務集T,計算事務集T中各項目Ik出現(xiàn)的次數(shù)n,并設定最小支持度s(項目出現(xiàn)的最少次數(shù)),若項目集I中某個項目Ik的出現(xiàn)次數(shù)n小于最小支持度s,則刪除該項目,然后將原始事務集T中的各項事務Tk按項目集Ik中的項目頻次進行降序排列。之后第二次掃描事務集T,創(chuàng)建項頭表以及FP樹。項頭表的第一列是按照降序排列的頻繁項,第二列是指向該頻繁項在FP樹中節(jié)點位置的指針[6]。FP樹其實是一棵用來存儲項目出現(xiàn)次數(shù)的前綴樹,每個項目均以路徑的方式存儲在樹結構中,與其它樹形結構不同,各項目在FP樹中并非只出現(xiàn)一次。只有當項目和頻次均不一致時,樹結構才會分枝。項目每出現(xiàn)一次,若在FP樹中有同路徑的節(jié)點,則記數(shù)增加一次,若無同路徑的節(jié)點,則相應的新增該項目節(jié)點。最終各項目按支持度降序排列,支持度越高的頻繁項離根節(jié)點越近[7],從而使得更多的頻繁項可以共享前綴。
FP樹構建完成之后,依照樹結構中從下往上的順序,對于每個項目找到其條件模式基(CPB,conditional patten base),遞歸調用樹結構,刪除小于最小支持度的項。如果最終呈現(xiàn)單一路徑的樹結構,則直接列舉所有組合;非單一路徑的則繼續(xù)調用樹結構,直到形成單一路徑,即可挖掘出項目的頻繁項集。
根據(jù)FP-Growth算法原理及其實現(xiàn)步驟,本文以某高校計算機專業(yè)2018級學生的成績?yōu)閿?shù)據(jù)來源,研究學生公共課成績和專業(yè)課成績之間的相關性。根據(jù)該專業(yè)教學計劃的具體內(nèi)容及培養(yǎng)重點,選擇高等數(shù)學A(一)、大學英語(一)、計算機導論三門課程成績作為公共課成績代表,另外選擇高級語言程序設計(C++)(一)、數(shù)據(jù)庫原理及應用、數(shù)據(jù)結構三門課程成績作為專業(yè)課成績代表,在不考慮學生補考或重修等異??荚嚨那闆r下,共得到有效學生成績數(shù)據(jù)418條,作為全部的數(shù)據(jù)來源。限于本文篇幅,隨機選取其中的15名學生數(shù)據(jù)作為研究實例,其公共課和專業(yè)課原始成績?nèi)绫?所示。為保護學生個人信息,以學號后六位代表對應學生。
表1 學生公共課和專業(yè)課原始成績
學生的成績數(shù)據(jù)部分為百分制,部分為五級計分制,為方便FP-Growth算法處理,將學生成績數(shù)據(jù)做進一步的離散化處理。若某門課程成績?yōu)槲寮売嫹种频膬?yōu)秀或良好,或者其成績?yōu)榘俜种魄曳謹?shù)大于等于80,則認為其成績優(yōu)良,將其標注為Ik,反之則不標注。依此規(guī)則,將高等數(shù)學A(一)、大學英語(一)、計算機導論三門公共課成績?yōu)閮?yōu)良分別記作I1、I2、I3,高級語言程序設計(C++)(一)、數(shù)據(jù)庫原理及應用、數(shù)據(jù)結構三門專業(yè)課成績?yōu)閮?yōu)良分別記作I4、I5、I6。本文主要討論公共課成績優(yōu)良與專業(yè)課成績優(yōu)良之間的關系,故非優(yōu)良的成績忽略不計。原始成績離散規(guī)則如表2所示。離散化后的學生公共課成績和專業(yè)課成績?nèi)绫?所示。
表2 原始成績離散規(guī)則
表3 離散化后的學生公共課成績和專業(yè)課成績
2.2 學生公共課成績與專業(yè)課成績相關性分析
根據(jù)FP-Growth算法思想,通過以下步驟來完成學生公共課成績與專業(yè)課成績相關性分析。
1)將表3中離散化后的學生公共課成績和專業(yè)課成績作為事務集T,各項事務中所包含的項目的集合I={I1,I2,I3,I4,I5,I6}。首先完整地掃描一遍事務集T,計算所有學生成績數(shù)據(jù)中各成績項目Ik出現(xiàn)的次數(shù)n,得到的結果如表4所示。
表4 各成績項目Ik出現(xiàn)的次數(shù)
2)設定最小支持度s=5。項目集I中成績項目I2的出現(xiàn)次數(shù)n為4,小于最小支持度s,故刪除此項目。按出現(xiàn)頻次將項目集I重新排序為{I1,I6,I5,I4,I3},依照此項目順序將成績事務集T中的各項事務Tk進行降序排列。刪除不符合最小支持度項目并進行降序排列前后的事務集T如表5所示。
表5 刪除不符合最小支持度項目并進行降序排列前后的事務集
3)掃描表5中經(jīng)過刪除不符合最小支持度項目并進行降序排列之后的事務集T,創(chuàng)建項頭表以及FP樹。FP樹的根節(jié)點記為null,不表示任何項。先根據(jù)第一條事務T1={I1,I6,I5}創(chuàng)建FP樹的第一條分支,之后將事務T2到T13中的項目逐條插入FP樹中。若新加入的項目路徑若與現(xiàn)有FP樹節(jié)點相同,則原有節(jié)點數(shù)量增加一次;若新加入的項目路徑與FP樹節(jié)點不同,則FP樹分枝,增加新的項目節(jié)點。以此構建的項頭表和FP樹如圖1所示。
圖1 項頭表和FP樹
4)FP樹構建完成之后,查找每個項目對應的條件模式基。以項目I5和I6為例,I5的條件模式基為{I1}、{I1:7,I6:7},I6的條件模式基為{I1:9}。將I5和I6的條件模式基作為新的事務數(shù)據(jù)庫,以條件模式基的項目為節(jié)點,構建I5和I6的條件FP樹如圖2所示。
由圖2可知,I5和I6的條件FP樹均為單路徑,且每一節(jié)點均滿足最小支持度,所以直接列舉條件FP樹中的所有節(jié)點組合,與對應項目取并集,即可得對應項目的頻繁項集。I5的條件FP樹節(jié)點組合為{I1:8}、{I6:7}、{I1:8,I6:7},與I5取并集得到滿足最小支持度的頻繁項集為{(I1:8,I5:8),(I6:7,I5:7),(I1:7,I6:7,I5:7)};同理,I6的條件FP樹節(jié)點組合為{I1:9},與I6取并集得到滿足最小支持度的頻繁項集為{(I1:9,I6:9)}。
圖2 I5和I6的條件FP樹
據(jù)此分析,I1和I5以及I1和I6之間存在較強的關聯(lián)性。由此可以得出,如果學生的公共課高等數(shù)學A(一)的成績?yōu)閮?yōu)良,則其數(shù)據(jù)庫原理及應用、數(shù)據(jù)結構兩門專業(yè)課成績?yōu)閮?yōu)良的概率較大。而大學英語(一)和計算機導論兩門公共課成績未發(fā)現(xiàn)與數(shù)據(jù)庫原理及應用、數(shù)據(jù)結構兩門專業(yè)課成績存在明顯的關聯(lián)性。
本文指出了高校學生公共課成績與專業(yè)課成績之間關聯(lián)的不確定性,通過分析數(shù)據(jù)挖掘的FP-Growth算法,以某高校計算機專業(yè)學生為例,選擇高等數(shù)學A(一)、大學英語(一)、計算機導論三門公共課成績和高級語言程序設計(C++)(一)、數(shù)據(jù)庫原理及應用、數(shù)據(jù)結構三門專業(yè)課成績?yōu)閿?shù)據(jù)挖掘對象,將六門課程成績概化之后引入FP-Growth算法進行分析處理,通過構建FP樹等步驟,高效挖掘學生公共課成績與專業(yè)課成績之間的潛在關系,得出了兩者之間的關聯(lián)規(guī)則。這些關聯(lián)規(guī)則可以為高校教學單位課程設置提供有力的理論依據(jù),進而制定更加科學合理的培養(yǎng)計劃,促進高校教學模式及人才培養(yǎng)過程的改革。學生也能以此為參考,結合自身成績特點,靈活調整學習重點,更有針對性地吸收知識,有效提高學習效率。