李曉光
(哈爾濱學院,黑龍江 哈爾濱 150086)
在現(xiàn)代科學的不斷進步的今天,高校的教學管理也不可避免的要趨于日益規(guī)范化、信息化和網(wǎng)絡化。其主要側重點要轉向項目研究、方法創(chuàng)新、優(yōu)化服務而非單一的規(guī)范管理。通過數(shù)據(jù)挖掘和知識發(fā)現(xiàn)技術,我們可以從現(xiàn)有數(shù)據(jù)中分析提取潛在有用的知識信息并應于與教學管理中。本文將介紹學分制選課成績信息的關聯(lián)規(guī)則挖掘的相關內(nèi)容,并結合Oracle數(shù)據(jù)庫的教學數(shù)據(jù)庫系統(tǒng),對關聯(lián)數(shù)據(jù)挖掘技術進行探討。
基本的數(shù)據(jù)挖掘算法主要包含置信度(confidence)和支持度(support)兩個參數(shù)。Apriori是已知的最早的關聯(lián)規(guī)則的挖掘基本算法。它的主要作用是用來描述用戶對挖掘出來的規(guī)則的偏好程度。把瀏覽大量事務數(shù)據(jù)時的每一個的單個項累加起來,在所有事物瀏覽完畢后,把自身支持度小于用戶給出的支持度的項目刪除,以此為基礎拓展到多項事務中去。
在應用服務器層上進行數(shù)據(jù)邏輯處理的工作,是在普遍的C/S和B/S數(shù)據(jù)庫應用系統(tǒng)中所采取的辦法,我們通常把數(shù)據(jù)庫當成一個儲存數(shù)據(jù)的工具來看待和管理,在返還給數(shù)據(jù)庫之前,我們想要先提取數(shù)據(jù)庫中的某一種特定數(shù)據(jù)并進行處理。在這個過程中,Oracle數(shù)據(jù)庫是目前是最常用也是最優(yōu)秀的有關于數(shù)據(jù)存儲,、轉換、應用的中心系統(tǒng)。數(shù)據(jù)挖掘系統(tǒng)在工作時,時常要對數(shù)據(jù)表中所有數(shù)據(jù)進行徹底掃描,因為這樣可以將盡可能多的把整體數(shù)據(jù)轉換和處理過程放在數(shù)據(jù)庫系統(tǒng)內(nèi)來執(zhí)行,以提高數(shù)據(jù)掃描效率。
首先,我們需要學生成績的事務型數(shù)據(jù)表,這是因為使用關聯(lián)挖掘算法需將具體學生的所有成績數(shù)據(jù)元組組合并成一個事務數(shù)據(jù)。通常數(shù)據(jù)庫中存儲學生成績的方式為N對N的元組,即“學號——課程號——成績”的形式。不難發(fā)現(xiàn),我們很難把它們組裝到一個事務中去,因為每個學生在數(shù)據(jù)表中都是由多個元組組成的。倘若這樣大型的事務性數(shù)據(jù)表要在在挖掘過程中重新創(chuàng)建,那就要花去很長的運算時間,得不償失,所以將其一直存儲在數(shù)據(jù)庫內(nèi)才是正確的選擇。
筆者認事物數(shù)據(jù)的建立可以分解為:數(shù)據(jù)集成、數(shù)據(jù)選擇和預分析。
(1)數(shù)據(jù)集成。在這個步驟中,從操作型環(huán)境中提取并集成的數(shù)據(jù)中語句不可避免的會含有許多語句的二義性問題,我們要首先把它統(tǒng)一起來或者直接消除。消除語義二義性是在教學系統(tǒng)的數(shù)據(jù)處理時的主要工作。例如對于《c語言程序設計》,有的表則會將其顯示為:“c語言”。而他們指的其實是一回事,所以我們要把它們合二為一。建立在園區(qū)網(wǎng)絡的系統(tǒng)研發(fā)應該以兩個數(shù)據(jù)集市為主題,即學生與課程。
(2)數(shù)據(jù)選擇。減小數(shù)據(jù)量、保證數(shù)據(jù)挖掘結果的優(yōu)質(zhì)性是預分析和數(shù)據(jù)選擇的主要功能。因為在之前的過程中,由于數(shù)據(jù)倉庫的容量會不斷增加。數(shù)據(jù)挖掘時的一次耗時也會相應地加長。會給用戶造成巨大的負擔。
(3)數(shù)據(jù)預處理。首先,要將處于離散狀態(tài)的多元組的學生成績數(shù)據(jù)和成績轉化為事務性的成績數(shù)據(jù),一個事務元組配對一個學生,既學號——成績事務組。具體形式如下:(0243041087,“C語言程序設計B,軟件工程B,數(shù)據(jù)結構 A,?”)或(0243041293,“C 語言程序設計 A,匯編語言 B,人工智能 B,? ”)。其中,用一個足夠長的字符串來存儲,每個事務用逗號作為間隔,使用的時候通過很簡單的字符串分析就能夠提取出里面的所有成績事務。
取得課程間的相關信息,進而指導學生選課是關聯(lián)規(guī)則對學生成績數(shù)據(jù)庫進行數(shù)據(jù)挖掘的最終目標。Apriori、AIS、SETM和 Partitio等是關聯(lián)規(guī)則的主要分析算法,本文中的實例將采用Apriori算法。
在進行處理時,學生考試成績,隸屬院系等基本信息以及在數(shù)據(jù)預備階段形成的各課程所隸屬的課程分類信息都是關聯(lián)規(guī)則分析中可能用到的,應該加以留存。依據(jù)學生的考試成績,分析出各門課程之間的內(nèi)在聯(lián)系,提高數(shù)據(jù)挖掘的精確度,僅僅靠考慮可信度以及支持度在實際應用中是遠遠不夠的,有時甚至還會引起不必要的誤導。筆者認為可以通過在原來的關聯(lián)規(guī)則上增加興趣度閾值這一手段來實現(xiàn)。例如《C語言程序設計》(以下簡稱《C語言》)和《軟件工程》(以下簡稱《軟件》)成績?yōu)閮?yōu)的學生數(shù)量在成績庫中占15%,但是《軟件》中優(yōu)秀的學生數(shù)量在《C語言》為優(yōu)的學生中占到數(shù)量的50%,我們可以由這兩個足夠大的支持度和可信度得出:“提高《C語言》的教學水平有助于《軟件》教學成績的提高”,這種結論看似合理,而實際的情況卻是原始記錄顯示選修《軟件》的學生有60%成績都是優(yōu),也就是說有35%的學生《C語言》成績非優(yōu)但《工程》的成績?yōu)閮?yōu)。而且《軟件》成績優(yōu)秀的概率高于已知《C語言》成績?yōu)閮?yōu)的概率這一定律,對于任意我們不知道信息的學生都成立。所以,如果用戶在選擇時沒有仔細分析,上面的信息很顯然會給他們造成很負面的誤導。所以我們引入興趣度閾值這一參數(shù)來解決這個問題。
定義規(guī)則R的興趣度公式為:IR=(CRSRH)/max(CR,SRH)
其中CR是規(guī)則R的可信度|H∧B|/|B|,SRH就是原始記錄中支持該規(guī)則推出的信息即規(guī)則右部H的比例。很顯然CR與SRH之間是不具有任何關聯(lián)性的,興趣度IR在計算時,R的結果可正可負。正負就是R值得意義所在。如果為負,就表示該規(guī)則是具有誤導性的,應該舍棄。反之則表示該規(guī)則有效,輸出。
在于對事務的計數(shù)上是關聯(lián)挖掘算法Apriori的主要處理過程。但要是因排列組合導致事務個數(shù)特別多,就可能導致產(chǎn)生的候選式遠遠超過一般計算機內(nèi)存的承受力。因此,內(nèi)存與外存之間的切換是Apriori算法過程中必然需要考慮到的問題。解決這個問題,最簡單的辦法就是直接將候選式保存在Oracle數(shù)據(jù)庫中,建立一張臨時的數(shù)據(jù)表—CanidateTable。 CanidateTable內(nèi)剩下的元組就是頻繁項了,頻繁項可以用DELETE FROM Candidate Table WHERE支持度計數(shù)<最小支持度計數(shù)執(zhí)行完成后得到。對于產(chǎn)生的候選式十分巨大的情況,我們可以通過建立索引,提高上述篩選候選式的效率。
我們可以利用可視化工具將數(shù)據(jù)挖掘獲取的信息以用戶理解和觀察的方式反映給用戶。在本系統(tǒng)中選用表格進行反映表述。用表格去表示某學院學生成績挖掘結果,范式為(no,front,rear,C,S,I),這些單詞和字母分別代表的是是產(chǎn)生關聯(lián)規(guī)則的序號、關聯(lián)規(guī)則前件、關聯(lián)規(guī)則后件、可信度、興趣度和支持度。
通過分析挖掘,我們可以得到課程之間的相關關系,這樣可以幫助管理者做出正確的決策,指導他選課過程,有助于學生更加有針對性的學習各門課程。
[1]HAN J,KAMBER M.Data Mining:Concepts and Techniques.Beijing:Higher Education Press,2001.
[2]Rakesh Agrawal,Tomasz Imielinski,Arun Swami.MiningAssociation Rules between Sets of Items in Large Databases,1993
[3]董彩云,曲守寧.數(shù)據(jù)挖掘及其在高校教學系統(tǒng)中的應用[M].濟南大學學報,2004.
[8]張梅峰,張建偉,張新敬,等.基于Apriori的有效關聯(lián)規(guī)則挖掘算法的研究[J].計算機工程與應用,2002,39(19):196-198.
[9]張智軍,方穎,許云濤.基于Apriori算法的水平加權關聯(lián)規(guī)則挖掘 [J].計算機工程與應用,2002,39(14):197-199.