吳修國 邢奧林



摘? ?要:利用數據挖掘技術發現高等院校教學管理數據庫中蘊涵的有價值的規律和知識,可為高校教學與管理決策提供科學合理的數據支撐。傳統的Apriori算法在關聯規則挖掘中存在“尖銳邊界”問題,嚴重影響挖掘結果的科學性和有效性;基于模糊集理論的關聯規則挖掘尚存在計算時間復雜度較大、內存占用過多以及耗時較長等問題。文章基于傳統模糊關聯規則方法,并結合AprioriTid思想提出一種改進的模糊關聯規則挖掘算法,通過不斷更新事務數據庫,提高掃描數據庫的效率;并將其應用在高等學校教育數據挖掘中,對學生課程成績進行分析,發現課程之間的聯系。實驗結果表明,該算法可有效降低數據挖掘時間并減少內存消耗,挖掘結果能夠發現教學中的規律,從而有效指導教學與管理工作。
關鍵詞:教育大數據;數據挖掘;模糊關聯規則
中圖分類號:G64 文獻標志碼:A 文章編號:1673-8454(2020)21-0067-05
一、引言
當前,很多高校都開發了教務管理系統,以實現對教學過程中各項事務的收集、查詢和簡單統計。然而,相關數據分析還處于比較低級的水平,迫切需要一種數據處理技術,來分析海量教育數據背后隱含的關聯和規律,為管理決策提供數據支撐與依據。關聯規則數據挖掘作為教育大數據分析的一種重要方法,可發現海量信息中的關聯關系,從而獲得隱藏的信息與知識,為科學決策提供依據,目前被廣泛運用于商業、科技、安全等方面。傳統的關聯規則挖掘算法更適合對離散的數據進行處理,但是教育領域存在著大量的連續型數據,不適合用布爾值來表示。如果采用硬性的離散化劃分策略,則會導致所謂的“尖銳邊界”問題,嚴重影響結果的真實性。[1]為了解決這些問題,許多國內外研究者對其展開了研究,比如通過引入模糊集理論,得出模糊關聯規則挖掘模型,在處理連續型數據劃分問題上取得了不錯的效果。[2][3]然而,數據模糊化處理增加了數據量,增加了內存占用率和時間空間的消耗。基于上述分析,本文在模糊關聯規則算法的基礎上,引入AprioriTid優化的思想,在掃描數據庫的同時生成新的項目集事務數據庫;并將其應用在高等學校教育數據挖掘中,對學生課程成績進行分析,發現課程之間的聯系。
二、相關文獻研究
近年來,隨著網絡技術、信息技術以及數據挖掘技術的迅速發展,越來越多的數據挖掘領域的研究人員希望能提取出教育數據背后的知識和信息。其中,關聯規則在教育大數據中的應用有著重要的意義。
文獻[4]應用關聯規則算法對遠程考試題目的考查知識點進行了關聯分析,對考試和教學開展起到了積極作用;文獻[5]首先將學生成績轉換為布爾型表達,之后再利用關聯規則挖掘,得出課程之間的聯系;文獻[1]將事務項目數據轉化為項目事務數據庫,剔除最小支持度不滿足的項集,通過連接生成新的候選集只需要通過取交集計算支持度,省去了剪枝過程中反復比較的過程;文獻[6]提出不斷迭代新事務數據庫,每一次計算支持度都從新產生的事務數據庫搜索,通過不斷產生新的頻繁項目集,不斷剪枝,使新事務數據庫越來越小,從而達到提高效率的目的;文獻[7]提出通過減少事務數據庫中無用數據,根據有序排列減少對比次數來提高效率;并且提出了另一種離散化方法,采用數據寬度非固定的方法,根據具體情況進行調整,以此提高結果的準確性。
上述研究基本上都是基于Apriori算法進行的,由于其只能處理離散數據,所以必須將連續數據處理成離散區間,會導致“尖銳邊界”問題,破壞數據內在的聯系,勢必影響到關聯規則的科學性。為此,有研究者將模糊集理論引入到關聯規則中,形成了“模糊關聯規則”。文獻[2]針對經典模糊關聯規則挖掘算法中,隸屬度函數的選擇“硬化”問題和數據集本身存在的不確定性問題進行了改進,通過對不同項之間的隸屬度函數、不確定度和非隸屬度函數進行分析,生成關聯規則;文獻[8]針對目前關聯規則算法處理高偏度數據存在的較多問題,應用抽樣技術和聚類算法,提出了一種解決連續數據離散化問題的算法。通過聚類的方法對屬性值進行分類,每一類構成一個區間,作為一個單獨的屬性;文獻[9]應用模糊集軟化數量型屬性劃分邊界,通過采用模糊c-均值[10]算法劃分模糊集,然后采用遺傳算法訓練分類系統,從而獲得更好的精確度。然而,上述方法挖掘過程復雜,時間復雜度高,不利于運用在教育大數據上。
針對以上問題,本文在結合傳統關聯規則算法和模糊關聯規則算法的基礎上,將連續性數據模糊化處理,利用隸屬度函數劃分為模糊集合,再將模糊集中的元素當成普通單一元素處理,從而能夠按照傳統Apriori算法進行挖掘,并通過不斷更新事務數據庫,剪去事務數據庫中沒有意義的數據,達到提高掃描效率的目的。
三、改進模糊關聯規則數據挖掘算法與性能分析
關聯規則挖掘算法簡單,適用性強,可操作性高,基本思想是對項目集合或者事務集合中的頻繁項集,以及頻繁項目集中符合要求的關聯規則進行挖掘。眾多關聯規則挖掘算法中,最具代表性的算法是Apriori算法[11]以及FP-growth算法[12]。
在關聯規則分析和構建過程中,包含如下定義和概念:
(1)項(Item)。關聯規則數據中最小的單位,項的集合成為項集,其中含有k個項的項集成為k-項集。
(2)支持度(Support)。該項集在整個數據集中出現的頻率,表示為:Support(X→Y)=P(X∪Y)=(|D(X) |)/(|D|),其中X和Y為項集,D為數據集。
(3)置信度(Confidence)表示包含X的事務中出現Y的條件概率,表示為:Confidence(X→Y)=P(X/Y)=(Support(X∪Y))/(Support(X))。
(4)如果項集X的支持度大于設定的最小支持度,那么就可以稱該項集為頻繁項目集。
(5)如果關聯規則X→Y的支持度和置信度都大于設定的最小支持度和最小置信度,則稱X→Y為強關聯規則。
在傳統的關聯規則數據挖掘算法中,需要對連續型數據進行離散區間的劃分。這種項目集劃分往往是基于精確的數值進行截斷,項目要么屬于這個區間,要么屬于其他區間,存在著嚴重弊端,例如,學生成績60分以上是及格表示成績優,60分以下為不及格表示成績差。雖然59分和61分只相差兩分,但卻屬于兩個完全不同的區間。顯然,這樣的劃分過于絕對,不利于表現出真實的區別,嚴重影響了結果的真實性。因此,可以引用模糊理論對數據進行模糊處理,通過對應模糊區域的隸屬度函數,將連續的屬性劃分為多個模糊區域。例如,一個學生課程成績數據庫Ti={t1,t2,t3,…,tn},課程屬性集Wj={w1,w2,w3,…,wn},由對應領域專家給出隸屬度函數,將學生成績這一連續型數據進行模糊化處理,劃分為多個模糊集合。比如將成績劃分為{high,medium,low},課程屬性集則劃分為{w1high,w1medium,w1low,w2high,w2medium,w2low,…,wmhigh,wmmedium,wmlow}。
根據隸屬度函數計算各個數據對模糊屬性集的隸屬度,所有的模糊屬性隸屬度取值都在區間[0,1]中。與傳統Apriori算法不同,支持度不再是事務對項目集支持的數量之和,而是將隸屬度的值相加,再除以總的記錄數,所得到的值作為支持度。而對于含有多個屬性的項集,隸屬度按照其中值最小的屬性進行計數,如表1和表2所示。
算法主要有剪枝和連接兩個主要步驟:連接主要是根據頻繁項目集產生新的候選項目集;而剪枝則是將候選項目集中不符合條件的項目集刪除,主要是刪除支持度小于最小支持度、含有同一模糊集屬性以及含有非頻繁項目子集的項目集。在模糊關聯規則算法中,需要不斷掃描原始數據庫,來獲取各個候選項目集的支持度。但隨著關聯規則挖掘的進行,原始數據中很多數據失去了使用價值,如此重復地遍歷所有數據,勢必降低算法效率。為此在模糊關聯規則的基礎上引入AprioriTid的思想,每一次掃描都生成一個新的事務數據庫,新的數據庫只包含上一次頻繁項目集中的項目集屬性和有意義的事務,下一次掃描只需要掃描上一次產生的新事務數據庫,通過不斷更新事務數據庫,來減少事務數據庫的規模,達到提高算法效率的目的。算法1:改進模糊關聯規則挖掘算法。
輸入:原始事務數據庫T,每個屬性項對應的隸屬度函數集合F,最小支持度minsupport和最小置信度minconfidence。
輸出:新事務數據庫Dk,頻繁項目集Lk。
第1步:對于T中各個連續型數據,根據對應的隸屬度函數,計算所有數據的隸屬度f。將求得的隸屬度數據帶入新的數據庫中,記為D,此時D1就等同于D。
第2步:掃描D1數據庫,將各個屬性的隸屬度累加求和再除以總記錄數,計算所有屬性的支持度,計算公式為:Support=(■1nf)/n;其中1≤y≤m(設D1共有m個屬性、n條記錄),減去支持度小于minsupport的項目集,形成L1頻繁項目集,同時更新D1。
第3步:根據L1頻繁項目集生成候選2項集,然后掃描D1數據庫,同時生成D2新事務數據庫,再計算各個“2-項集支持度”,然后支持度與minsupport比對,形成L2頻繁項目集,同時更新D2。
第4步:根據L2頻繁項目集生成候選3項集,剪掉含有非頻繁子集以及含有同一模糊屬性集的項目集,然后掃描D2數據庫,生成D3新事務數據庫,計算各個“3-項集的支持度”,再與minsupport比對,形成L3頻繁項目集,同時更新D3。
第5步:重復生成候選項目集并剪枝,生成新的事務數據庫以及生成新的頻繁項目集,直到沒有新的頻繁項目集產生。
模糊關聯規則挖掘算法在每一次產生候選項目集時,都需要掃描一遍初始事務數據庫D,所得出來的項目集支持度結果對下一次查找并沒有幫助。如果將每一次計算支持度過程中產生的數據保存下來作為新的事務數據庫Dk,下一次計算候選項目集的支持度時,只需要掃描上一次新產生的事務數據庫Dk。在k比較小的時候,由于候選事務集的數量大于原事務數據庫屬性數量,但隨著對數據不斷的挖掘,候選項目集數量會越來越少,同時由于很多事務不再包含候選項目集的任一屬性而刪除,事務的數量也會減少,所以新產生的事務數據庫所包含數據數量會急劇減少,遠遠小于初始數據庫D,掃描數據庫所花費的時間會大幅減少。
四、基于改進模糊關聯規則的學生課程成績挖掘
1.方案設計
從學校教務系統抽出某年級一個學院學生在校期間成績,導出數據源類型為Excel工作表,運用模糊關聯規則挖掘算法,實驗程序統一采用Python實現。主要目的是發現哪些課程之間存在著聯系,基礎課是否會對專業課產生影響,哪些課程會影響到后續課程等,由此對教學工作以及學生的大學學習進行指導。
2.數據預處理
(1)數據集成
將各個數據源數據都合并到一個表格中,對于類似課程都合并到一個課程名下,例如:“微積分Ⅰ”、“微積分Ⅱ”合并為“微積分”;Web開發基礎、Web開發實戰合并為“Web開發”。而合并后的課程數據,將采用類似課程成績的平均數。對于研究內容沒有意義的課程將被刪除,例如軍政訓練、勞動實踐等。以此來簡化課程,減少挖掘復雜度,提高研究結果的可讀性。
(2)數據清理
原始數據存在很多異常數據,很多學生由于缺考、取消考試資格、作弊等原因,成績存在大量空缺項或異常項。需要將這些數據進行清除,以保證所有剩余數據都是有效的。清理后的數據如表3所示。
(3)數據轉換
數據轉換就是把學生成績數據轉換為統一的規格。根據模糊關聯規則算法,由專家給出相應的隸屬度函數,通過將成績數據帶入隸屬度函數中,得出不同屬性的隸屬度,其中隸屬度都是介于0到1之間的實數。結合實際教學經驗,將學生成績模糊處理為{high,medium,low},建立對應的隸屬度函數,隸屬度函數如圖1所示。
根據對應的隸屬度函數,對所有學生成績數據進行轉換,變成統一的格式,以便進行數據挖掘。轉換結果如表4所示。
3.挖掘過程與結果
經過以上數據預處理,現采用改進的模糊關聯規則挖掘算法對數據進行挖掘。最小支持度為0.2,最小置信度為0.7,最終得到頻繁項集L4如表5所示。
根據最小置信度0.7,可以得到一些強關聯規則集,如表6所示。
這些規則展示了一些專業課與基礎課程之間的聯系。例如:從表6第一條規則可以看出,微積分、概率論與數理統計、線性代數這些基礎數學課的成績在80多分或90多分的學生,算法分析與設計也會取得較高的成績,有26.04%的學生滿足這條規律,并且當微積分、概率論與數理統計、線性代數成績都較高的情況下,算法分析與設計也較高的可能性為93.19%。可以看出微積分、概率論和線性代數等數學基礎課的學習,對算法分析與設計有很大的幫助。第二條規則可以看出Web開發、算法分析與設計以及Java程序設計也存在一定的聯系。由此在以后的教學工作中,就可以針對這些聯系,進行適當的調整和安排,學生也可以根據這些規則合理安排學習生活。
五、結束語
本文對關聯規則在教育大數據中的應用以及模糊關聯規則算法進行了闡述,并提出了一種改進的模糊關聯規則挖掘算法,對連續型屬性進行模糊化處理避免了硬化劃分破壞數據關系的真實性問題,優化了事務數據庫,提高了掃描速率。通過對學生成績進行分析,可以得出該算法能夠較好地處理成績數據柔性劃分問題,并在處理數據時能夠擁有較高的效率。分析獲得的關聯規則也能較為真實地反映課程之間的聯系,為以后學校各種教學活動提供可靠的科學依據。
參考文獻:
[1]周慶,牟超,楊丹.教育數據挖掘研究進展綜述[J].軟件學報,2015(11):3026-3042.
[2]Chan Man Kuok,Ada Fu,Man Hon Wong.Mining fuzzy association rules in databases,1998,27(1):41-46.
[3]陳池,王宇鵬,李超,張勇,邢春曉.面向在線教育領域的大數據研究及應用[J].計算機研究與發展,2014(S1):67-74.
[4]鄭慶華,董博,錢步月,田鋒,魏筆凡,張未展,劉均.智慧教育研究現狀與發展趨勢[J].計算機研究與發展,2019(1):209-224.
[5]苑森淼,程曉青.數量關聯規則發現中的聚類方法研究[J].計算機學報,2000(8):866-871.
[6]鄒曉峰,陸建江,宋自林.基于模糊分類關聯規則的分類系統[J].計算機研究與發展,2003(5):651-656.
[7]R J Hathaway,JW Davenport.J C Baddc RdatBonaldialcf the c-means algorilhma Pattern Recognitkn 198ft 22(2):205-212.
[8]Agrawal R,SriKant R.Fast algorithms for mining association for mining association rules[C].Proceedings of the 20th international Conference on very large database.[s.1.]:M organ kaufman Pub inc,1994:487-499.
[9]Han Jiaweh Pei Jian.Yin Yiwen.et al.Mining frequent patterns without candidate generation:A frequent-pattern tree approach[J]. Data Mining and Knowledge Discovery,2004,8(1):53-87.
[10]張春,周靜.動車組運維效率關聯規則挖掘優化算法[J].計算機研究與發展,2017(9):1958-1965.
[11]申彥,宋順林,朱玉全.基于磁盤表存儲FP-TREE的關聯規則挖掘算法[J].計算機研究與發展,2012(6):1313-1322.
[12]牛新征,王崇屹,葉志佳,佘堃.基于簇和閾值區間的高效關聯規則隱藏算法[J].計算機研究與發展,2017(12):2785-2796.
[13]陳愛東,劉國華,費凡,周宇,萬小妹,貟慧.滿足均勻分布的不確定數據關聯規則挖掘算法[J].計算機研究與發展,2013(S1):186-195.
[14]霍緯綱,邵秀麗.一種基于多目標進化算法的模糊關聯分類方法[J].計算機研究與發展,2011(4):567-575.
[15]鐘勇,秦小麟,包磊.一種基于多維集的關聯模式挖掘算法[J].計算機研究與發展,2006(12):2117-2123.
[16]劉軍煜,賈修一.一種利用關聯規則挖掘的多標記分類算法[J].軟件學報,2017(11):2865-2878.
[17]Hu Y H,Lo C L,Shih S P.Developing early warning systems to predict students online learning performance[J].Computers in Human Behavior,2014(36):469-478.
[18]Hu Yichung.Determining membership functions and minimum fuzzy support in finding fuzzy association rules for classification problems[J].Knowledge-Based Systems,2006,19(1):57-66.
(編輯:王天鵬)