摘要:論文基于數據挖掘的理論背景,著重闡述了其中關聯規則和決策樹兩種方法,并將其應用到教學工作中。通過研究分析,使用關聯規則方法,能更好地進行教學情況預測和教學效果評估;決策樹方法能在畢業論文、課程選擇等方面進行分析指導。最后,指出數據挖掘方法在教學中應用的發展前景。
關鍵詞:數據挖掘;關聯規則;決策樹;教學;效果評估
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2010)01-143-02
The Application Research of Data Mining in Teaching
FANG Fang1, YE Chun-ming2, ZENG Guang-jun3
(1. Anhui University of Traditional Chinese Medicine, Hefei 230037, China; 2. Electronic Engineering Institute, Hefei 230037, China; 3. Communication and Command College, Wuhan 230037, China)
Abstract: This paper based on the theory of Data Mining, elaborates the two methods: association rule and decision tree, which applied to teaching practice. Research indicates that using association rule could do teaching situation prediction and teaching effect evaluation better. And Decision tree can give analysis and guidance in the aspect of thesis and course selection. Finally, this paper indicates Data Mining applied to teaching would be of vase prospects.
Key words: data mining ; association rule; decision tree; teaching; effect evaluation
1 概述
隨著高校教育信息化建設的發展,對于學生、教師資料,課程設置,考試成績等多種信息進行分析評估,對提高教學質量,加強高校管理,推進高校各項事業的建設有著重要的意義。經過近些年的發展,雖然各高校收集和建立起了較為完備的資料數據庫,但如何科學有效地分析這些海量數據,使其充分發揮指導決策作用,已成為教育信息化研究的方向之一。傳統的分析方法難以從這些數據中發掘出有用的信息。而利用數據挖掘技術,能夠方便高效地從大量數據中發現有用的信息和隱藏的規律,充分發揮資料數據庫的作用,為高校管理工作以及教師和學生的工作學習提供指導依據。
2 數據挖掘技術介紹
數據挖掘(Data Mining)是自上世紀90年代以來迅速發展的一門交叉學科,包含有人工智能、數理統計、神經網絡、數據庫、模式識別、粗糙集、模糊數學等技術學科的相關內容。一般認為,數據挖掘是從大量的數據中挖掘出隱含的、未知的、用戶可能感興趣的和對決策有潛在價值的知識和規則[1],數據挖掘的過程有時也稱為知識發現或數據庫中的知識發現(knowledge discovery in database,KDD)。其基本功能包括分類(classification)、估計(estimation)、預測(prediction)、關聯分組(affinity grouping)或關聯規則(affinity rule)、聚類(clustering)以及描述和建檔(description and profiling)[2]。
數據挖掘的對象包含數據庫、文本、圖像等各種結構化或非結構化的信息,很多情況下無法直接對這些數據進行分析。利用數據挖掘進行分析一般需要進行如下的過程[3]。
1)選擇數據:數據挖掘過程所需的數據可能從不同的異構數據源獲取,因此首先必須從各種不同形式的數據源中獲取數據。
2)預處理:初始數據中可能會有一些偏差或不符合形式化處理的例外,對這些數據必須進行修正和剔除,以保證后期數據處理的正確性。
3)變換:對不同數據源獲取的數據必須轉換成統一的格式,利用編碼或其他方法簡化數據表示形式。
4)數據挖掘:對變換后的數據應用數據挖掘算法以產生期望的挖掘結果。
5)解釋/評價:將數據挖掘的結果以適當的方式提交給用戶。可以使用圖形化的工具或文檔表格的形式等。
數據挖掘技術在電信業、零售業、農業、金融業、生物醫藥、化工行業等多個領域已有較成功的應用,例如對于數據庫營銷(Database Marketing)、客戶群體劃分(Customer Segmentation Classification)、客戶流失性分析(Churn Analysis)、客戶信用記分(Credit Scoring)、欺詐發現(Fraud Detection)等問題的分析等。數據挖掘主要的分析方法包括:關聯規則、決策樹、聚類分析、遺傳算法和神經網絡等,其中關聯規則和決策樹是使用頻率最多、范圍最廣的兩種方法。
關聯規則是用于揭示數據之間隱含的關系的一種數據挖掘方法,是數據挖掘最先研究的問題之一,也是數據挖掘的主要研究方向和最成熟的分析方法之一。關聯規則通過對數據庫中一組對象的關系進行分析,進而通過置信度和支持度的閾值篩選,得出被認為是有價值的規律或事實,典型的應用是購物籃分析,通過對銷售數據分析發現部分客戶的常用的購物習慣和規律。最經典的關聯規則算法是1994年由R.Agrawal, Hnielinski,Swam等人提出的Apriori算法[4],主要思想是生成特定關系的候選項目集,然后掃描數據庫并進行計數,以確定這些候選項目集是否滿足要求。
決策樹算法是一種用于解決分類問題的辦法[5]。決策樹通過對數據的歸納學習,構建一棵樹對分類過程進行建模,構建完成后,將其應用到數據庫中的元組并得到分類結果。樹的每個內部結點代表對一個屬性值的檢驗,分支代表檢驗的結果;樹的每個葉結點就代表一個類別。決策樹算法主要是用來對離散型變量進行分析,連續型變量必須被離散化后才能被分析[6]。最主要的決策樹算法是20世紀80年代由J.Ross.Quinlan提出的基于信息熵的ID3算法,但ID3算法對于大數據集的分析效果不令人滿意,后來出現的C4.5、C5、SLIQ、SPRINT等算法在ID3基礎上做了諸多改進,提高了算法的性能。
3 數據挖掘在教學中的應用
數據挖掘技術在商業領域已得到廣泛的應用,但在教育領域的應用尚處于研究試驗階段,研究應用較多的包括分析學生成績,改進教學質量,調整課程設置,輔助教學評價等等[7]。借助數據挖掘的方法,通過對收集的學生、教師、課程、成績等各類信息進行分析,尋找其中的規律、趨勢和問題,提供客觀科學的結論作為決策依據,能夠大大提高學校的教學管理水平,指導教師和學生的工作和學習。
3.1 關聯規則在教學中的應用
關聯規則可以描述為以下的形式[3]:給定一組項目I={I1,I2…}和事務數據庫D={t1,t2…},其中ti={Ii1,Ii2…}并且Iij∈I,關聯規則是形如X=>Y的蘊含式,其中X,Y?奐I是兩個項目集合,稱為項目集并且X∩Y=Φ。關聯規則的分析主要基于兩個數值:支持度和置信度。在關聯規則中,X=>Y的支持度表示數據庫中包含X∪Y的事務占庫中所有事務的百分比。X=>Y的置信度表示包含X∪Y是事務數與包含X的事務數的比值,對于X=>Y的支持度和置信度分別用s和a表示。
在教學數據的分析過程中,關聯規則使用于兩種類型的分析。類型一是進行預測性的分析,主要用于對學生的成績進行分析,類型二是進行評價性的分析,主要用于對教學效果的評估。利用數據挖掘技術進行分析一般分為三個基本步驟:建立數據倉庫,數據預處理和數據挖掘。下面以學生成績分析為例,描述關聯規則進行預測性分析的過程。
第一步是建立教學信息的數據倉庫。采集的數據內容主要包括學生的入學成績、基礎課程成績、專業課程成績,國家等級考試成績等等。為了提高分析結果的準確性,避免只通過成績進行單一的分析判斷,還應進行問卷調查等方式收集關于學生興趣愛好、擅長課程等數據內容,不同類型的信息分別組成各自的數據表。通過多種途徑建立內容全面的綜合數據倉庫,根據需要從中提取相應的數據進行分析。假定建立的數據庫為W={D1,D2,…},其中的Di為不同的數據表,內容分別是成績、調查內容等不同類型的數據。
第二步是對數據進行預處理。為便于數據挖掘分析,對采集的數據需要需求進一步進行處理,首先是刪除無效數據,例如校正錯誤信息,對缺考、無效調查結果等進行處理。其次,需要對不同類型的數據進行形式化處理,一般的方法是進行簡單的分類,例如成績按照“優秀、良好、集合和不合格”形式進行處理。如果數據庫W的內容較多,為提高關聯規則算法的執行效率,根據需要選擇部分表{Di1,Di2,…},其中Dij∈W,對這些表進行表連接等操作生成的待分析的事務庫D',并根據需求設定支持度s和置信度a。利用Apriori算法對事務集D'進行掃描,得出支持度不小于s的頻繁項目集D1'。
與一般關聯規則應用不同的是,在商業領域,支持度較小的項目集因其沒有商業利用的價值會被摒棄。但在教學領域,由于分析的對象是學生,即便是支持度很小的項目集也可能需要引起重視。例如,利用關聯規則入學成績和畢業成績的關系進行分析,類似{入學成績優秀,畢業成績優秀}這樣的項目集支持度可能較高。但{入學成績優秀,畢業成績不合格}這樣的項目集可能會因為支持度小于s被忽略。但如果對這一現象引起重視并深入分析,所反映的問題,可能比支持度較高的項目集代表的情況更有研究價值。但如果對所有這種非頻繁集進行分析,會影響算法執行效率,也可能得出很多無用的結論。解決辦法是對事務集分析之后,將大項目集的事務從數據庫中剔除,對生成的新事務庫D\"進行二次分析,或直接對非頻繁集進行其他方式的分析[8]。
第三步是根據Apriori等算法進一步挖掘,在頻繁集D1'中,按照置信度為a的標準,生成最后的關聯規則表。按照算法進行分析,最后生成的都是支持度和置信度比較高的關聯規則,但仍需對其中的內容進行分析和篩除。對于一些常識性的、顯而易見的結論,如“入學英語成績高,平時英語成績好=>英語等級考試通過”這類結論一般不必進一步研究,但對其中發現的不常見的結論,甚至是有悖于一般看法的結論需要引起注意,并做深入的分析研究,從而找出現象背后的原因所在。
關聯規則還可以用于對教學效果進行分析。比類型一復雜之處在于,建立數據倉庫時,需要業務專家進行設計,采集較為全面的教師工作相關信息,以及自身資質水平、所學專業、執教經歷等等詳細資料,并結合類型一采集的學生信息數據庫,完成內容詳實的信息倉庫。分析的過程與類型一的分析過程基本相同。
3.2 決策樹在教學中的應用
決策樹算法可以描述如下[3]。給定數據庫D={t1,t2…},其中ti={Ii1,Ii2…},數據庫模式包含下列屬性{A1,A2,…}。同時給定類別集合C={C1,C2,…}。對于數據庫D,決策樹可表示為每個內部節點都被標記一個屬性Ai;每個弧都被標記一個謂詞,可應用于相應父節點的屬性;每個葉節點都被標記一個類Cj。通過訓練數據構建決策樹,確定每個元組的類別,并對所有元組的類別進行分析,得出需要的結論。決策樹主要用于對離散的數據進行分類,在教學方面能夠用來對學生課程的選修、畢業課題的選擇、就業等方面進行分析指導。
基于決策樹的分析可以使用關聯規則相同的數據源,但對數據仍然要進行預處理。為了方便處理,可以將數據統一成可描述為相同類型的屬性。例如,學習成績可以劃分為:優秀、良好、中等、及格和不及格五檔,分別用5、4、3、2、1數字進行表示。同樣,動手能力、對某課程的喜好、資格考試是否通過等等,也可以采取類似的方式進行屬性編碼處理,例如通過可以表示為5,不通過表示為1,以此類推。按照屬性的分類構造決策樹,以指導學生選擇課題畢業課題為例。以一門或多門相關課程的成績、對一門或多門相關課程的喜好、動手能力的區別、理論研究能力的區別,以及畢業課題的選擇等作為分類屬性,通過對往屆學生信息數據庫進行分析,得出關于畢業課題成績優秀的規則,例如最后生成“動手能力強,喜歡編程,C語言等課程成績較好,關于編程類的畢業課題成績較好”這樣的規則,通過對這些規則的整理和進一步的分析,可以幫助學生選擇適合的畢業課題類型,甚至對包括就業在內的其他問題也有較強的指導作用。
4 結束語
數據挖掘技術適合從各種復雜的數據中分析出直觀明確的規律,數據利用率高,運行成本低,預見性強,在高校教學中有著廣闊的應用前景,雖然現在較為成熟的應用還不多,主要停留在研究試驗階段,但隨著高校信息化建設的推進和人們認識的加深,數據挖掘技術將在高校管理和教學改革中發揮重要的作用。
參考文獻:
[1] Ming-Syan Chen, Jiawei Han, Philip S. Yu. DataMining: An Overview from a Database PersPeetive [J]. IEEE Transaetions on Knowledge and Data Engineering. 1996,8(6):866-883
[2] Jiawei Han,Micheline Kamber. 數據挖掘概念與技術[M]. 加拿大:機械工業出版, 2004.
[3] Margaret H.Dunham. 郭崇慧, 等譯. 數據挖掘教程[M]. 北京: 清華大學出版社, 2005.
[4] Rakesh Agrawal,Ramakrishnan Srikant. Fast Algorithm for Mining Association Rules [C]. Proeeedings of 20'Int.Conf. Very Large Data Bases (VIDB). 智利: Morgan Kaufmann出版社, 1994.
[5] ROKACH L. Top-down induction of decision trees classifiers-asurvey [J]. IEEE Transaetions on Systems. 2005(35): 476-487.
[6] 陳恩紅,王清毅,蔡慶生. 基于決策樹學習中的測試生成及連續屬性的離散化[J]. 計算機研究與發展, 1998,35(5).
[7] 李勇. 淺談數據挖掘技術在院校教育信息化中的應用[J]. 電腦知識與技術, 2009,5(7).
[8] 李剛, 王洪國, 董祥軍, 等. 基于兩級多支持度的非頻繁項集挖掘方法[J]. 鄭州大學學報(理學版), 2007(4).