趙美林 鄭悅林
(三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002)
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘技術(shù)始于20世紀(jì)80年代,90年代有了迅猛的發(fā)展,這是信息和數(shù)據(jù)深度處理的必然需要,也是體現(xiàn)信息價(jià)值的重要工具?!皵?shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘”是一門多學(xué)科融合、理論與實(shí)踐并重、內(nèi)容具有前沿性和時(shí)代性的課程,已經(jīng)成為計(jì)算機(jī)相關(guān)專業(yè)、信息管理與信息系統(tǒng)專業(yè)本科生的學(xué)習(xí)內(nèi)容之一。本課程要求學(xué)生應(yīng)具備扎實(shí)的計(jì)算機(jī)基礎(chǔ)、數(shù)據(jù)庫(kù)原理、程序設(shè)計(jì)語(yǔ)言等相關(guān)知識(shí),同時(shí),課程中還涉及分類、聚類、預(yù)測(cè)、關(guān)聯(lián)規(guī)則等多種數(shù)據(jù)挖掘理論算法,這就要求教師在授課時(shí)注意結(jié)合實(shí)際、融會(huì)貫通,以幫助學(xué)生理解課程教學(xué)內(nèi)容。
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘是針對(duì)計(jì)算機(jī)相關(guān)專業(yè)高年級(jí)開(kāi)設(shè)的選修課程,主要教學(xué)任務(wù)是使學(xué)生熟悉數(shù)據(jù)倉(cāng)庫(kù)的基本概念和原理、數(shù)據(jù)倉(cāng)庫(kù)的開(kāi)發(fā)過(guò)程、聯(lián)機(jī)分析技術(shù)(OLAP)、數(shù)據(jù)挖掘技術(shù)(DM)等,并通過(guò)實(shí)踐環(huán)節(jié)使學(xué)生掌握開(kāi)發(fā)數(shù)據(jù)倉(cāng)庫(kù)、應(yīng)用數(shù)據(jù)挖掘技術(shù)的基本技能,使學(xué)生具備獲取、分析、利用信息的能力。
我們采用的是北京大學(xué)出版社出版,廖開(kāi)際主編的《數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘》,該課程一共有32學(xué)時(shí),其中:理論教學(xué)24學(xué)時(shí),實(shí)踐教學(xué)8課時(shí),由于教學(xué)課時(shí)有限,需要學(xué)生利用課余時(shí)間查閱和學(xué)習(xí)相關(guān)內(nèi)容。
“數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘”課程是涉及多個(gè)學(xué)科的交叉領(lǐng)域,既要求學(xué)生掌握計(jì)算機(jī)專業(yè)知識(shí),又要掌握數(shù)據(jù)庫(kù)系統(tǒng)、程序設(shè)計(jì)等基礎(chǔ)知識(shí),另外,在講解聚類、預(yù)測(cè)分析、關(guān)聯(lián)規(guī)則等挖掘算法時(shí),又要求學(xué)生對(duì)概率統(tǒng)計(jì)等數(shù)學(xué)知識(shí)有一定深度的認(rèn)識(shí)。但是,由于本科生教學(xué)課程設(shè)置等方面因素的影響,學(xué)生不可能完全了解相關(guān)學(xué)科的知識(shí),因此,在進(jìn)行理論講解時(shí),對(duì)于涉及到學(xué)生比較生疏的內(nèi)容應(yīng)該根據(jù)學(xué)生的具體情況,結(jié)合實(shí)例加以說(shuō)明。
“數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘”課程與數(shù)據(jù)庫(kù)既有著緊密的聯(lián)系,又有著本質(zhì)的區(qū)別,因此,在講解數(shù)據(jù)倉(cāng)庫(kù)時(shí),不僅要讓學(xué)生了解數(shù)據(jù)管理技術(shù)從數(shù)據(jù)庫(kù)發(fā)展到數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程,以便理解數(shù)據(jù)倉(cāng)庫(kù)技術(shù)產(chǎn)生的原因;更要學(xué)生深刻體會(huì)到數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)的本質(zhì)區(qū)別,數(shù)據(jù)庫(kù)是存放業(yè)務(wù)系統(tǒng)當(dāng)下運(yùn)行所產(chǎn)生的數(shù)據(jù),而數(shù)據(jù)倉(cāng)庫(kù)存放的是業(yè)務(wù)系統(tǒng)產(chǎn)生的歷史性數(shù)據(jù),而且數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)可以是來(lái)自于多個(gè)業(yè)務(wù)系統(tǒng),進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)必須是對(duì)各業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)進(jìn)行統(tǒng)一、整合處理后的數(shù)據(jù)。在構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)時(shí),工作量非常大,而ETL,即抽取、轉(zhuǎn)換和加載處理占到整個(gè)工作量70%左右,所以,在授課時(shí)應(yīng)該適當(dāng)?shù)丶尤氘?dāng)今比較前沿的ETL技術(shù),讓學(xué)生對(duì)前沿的ETL技術(shù)有一定的了解,比如在我院特聘教授蔣彬教授編著的 《Constructing Data Warehouses with Metadata-driven Generic Operators and more》一書中提到的MGO的方法就可以大大提升ETL的處理效率。在講解數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘的關(guān)系時(shí),應(yīng)當(dāng)指出,由于數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是通過(guò)統(tǒng)一、整合處理后的數(shù)據(jù),因此,能夠滿足數(shù)據(jù)挖掘技術(shù)對(duì)數(shù)據(jù)環(huán)境的要求,可直接作為數(shù)據(jù)挖掘的數(shù)據(jù)源。但是,數(shù)據(jù)挖掘所使用的數(shù)據(jù)源卻不一定必須來(lái)自于數(shù)據(jù)倉(cāng)庫(kù),它可以是任何形式的數(shù)據(jù)文件,但是,這些數(shù)據(jù)并不是拿來(lái)就可以直接使用的數(shù)據(jù),必須經(jīng)過(guò)清洗、轉(zhuǎn)換等數(shù)據(jù)預(yù)處理,轉(zhuǎn)化為適合數(shù)據(jù)挖掘使用的數(shù)據(jù)。
在講授數(shù)據(jù)挖掘部分時(shí),要重點(diǎn)講述所用方法的概念和屬性,不能只是介紹各種挖掘工具,而是要使學(xué)生深刻理解挖掘方法、模型和工作原理,這才是掌握數(shù)據(jù)挖掘技術(shù)的基本條件。另外,更要讓學(xué)生深刻認(rèn)識(shí)到數(shù)據(jù)挖掘的含義,數(shù)據(jù)挖掘不僅僅是為了看到一些漂亮的圖表,而是為了發(fā)現(xiàn)潛藏在海量數(shù)據(jù)中的有用信息,為企業(yè)的高層管理人員提供決策分析信息,這才是數(shù)據(jù)挖掘的本質(zhì)。
實(shí)驗(yàn)環(huán)節(jié)是計(jì)算機(jī)類課程教學(xué)的一個(gè)主要環(huán)節(jié),可以幫助學(xué)生在實(shí)踐中理解和掌握理論知識(shí),“數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘”是一門與實(shí)際結(jié)合非常緊密的課程,實(shí)踐性非常強(qiáng)。因此,實(shí)驗(yàn)教學(xué)中不僅要讓學(xué)生進(jìn)行驗(yàn)證性的操作實(shí)驗(yàn),還要與實(shí)際應(yīng)用緊密結(jié)合,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,使學(xué)生能夠進(jìn)行簡(jiǎn)單的系統(tǒng)設(shè)計(jì)和數(shù)據(jù)分析工作。
本課程實(shí)驗(yàn)內(nèi)容主要包括數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和數(shù)據(jù)挖掘的實(shí)施,根據(jù)我院的實(shí)驗(yàn)室的硬件條件和實(shí)驗(yàn)要求,我們選擇的軟件是微軟的SQL SERVER 2005,包括Analysis Service組件和Report Service組件。
SQL SERVER 2005的Analysis Service組件可以支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)的創(chuàng)建和應(yīng)用,并配有功能強(qiáng)大的工具和幫助文件,以便協(xié)助使用者完成數(shù)據(jù)倉(cāng)庫(kù)的建立、維護(hù),進(jìn)行OLAP聯(lián)機(jī)分析和數(shù)據(jù)挖掘。由于實(shí)驗(yàn)時(shí)間有限,我們將Analysis Service自帶的實(shí)例教程內(nèi)容進(jìn)行了適當(dāng)?shù)姆纸夂椭亟M,主要形成4個(gè)實(shí)驗(yàn)項(xiàng)目,使學(xué)生對(duì)數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和數(shù)據(jù)挖掘的實(shí)施步驟有了一個(gè)初步的認(rèn)識(shí),為其日后的進(jìn)一步學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
3.2.1 建立多維數(shù)據(jù)集及進(jìn)行OLAP分析
在這個(gè)實(shí)驗(yàn)中我們給出了明確的任務(wù)、目標(biāo),首先,要求學(xué)生根據(jù)我們給定的數(shù)據(jù)源,建立一個(gè)符合要求的多維數(shù)據(jù)集,掌握維度命名計(jì)算的方法和KPIS的使用。其次,要求學(xué)生利用所學(xué)的切片/切塊、上鉆/下鉆、旋轉(zhuǎn)等OLAP分析方法,對(duì)建立的多維數(shù)據(jù)集進(jìn)行數(shù)據(jù)分析,并能正確理解分析結(jié)果。
通過(guò)本實(shí)驗(yàn),學(xué)生基本上都掌握了Analysis Service的工作環(huán)境,掌握了多維數(shù)據(jù)集的創(chuàng)建和使用方法;同時(shí),也使學(xué)生對(duì)多維數(shù)據(jù)集、事實(shí)表、維度表、元數(shù)據(jù)及多維分析等概念有了更深一步的理解和認(rèn)識(shí),為后面安排的實(shí)驗(yàn)做好了充分的準(zhǔn)備。
3.2.2 利用SSAS進(jìn)行數(shù)據(jù)挖掘
在這個(gè)實(shí)驗(yàn)中,主要是利用決策樹、關(guān)聯(lián)規(guī)則、聚類和貝葉斯等算法建立挖掘模型,并用建立的模型進(jìn)行預(yù)測(cè)。通過(guò)本實(shí)驗(yàn)可以讓學(xué)生了解數(shù)據(jù)挖掘的基本步驟,加深了學(xué)生對(duì)Analysis Service數(shù)據(jù)挖掘算法的感性認(rèn)識(shí),掌握如何運(yùn)用Analysis Service對(duì)數(shù)據(jù)進(jìn)行挖掘,并要對(duì)挖掘結(jié)果進(jìn)行合理分析。
在進(jìn)行數(shù)據(jù)挖掘?qū)嶒?yàn)時(shí),對(duì)挖掘工具中算法的各類參數(shù),教師要詳細(xì)地予以解釋,并指導(dǎo)學(xué)生通過(guò)調(diào)整參數(shù)的值,查看其對(duì)挖掘結(jié)果的影響。
3.2.3 利用 SSRS 開(kāi)發(fā)報(bào)表
在一個(gè)企業(yè)中,報(bào)表服務(wù)是被用的比較多的一項(xiàng),因此,有必要讓學(xué)生對(duì)報(bào)表的開(kāi)發(fā)有一定程度的掌握。在該實(shí)驗(yàn)中,學(xué)生除了要完成常規(guī)報(bào)表外,還要求其掌握參數(shù)報(bào)表和含有統(tǒng)計(jì)圖的報(bào)表設(shè)計(jì)及開(kāi)發(fā)。通過(guò)本次實(shí)驗(yàn),學(xué)生將會(huì)對(duì)Report Service的報(bào)表類型有所了解,掌握常用報(bào)表的設(shè)計(jì)和部署方法。
3.2.4 構(gòu)建成績(jī)分析數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)
構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)時(shí),ETL將占到整個(gè)工作量的70%,因此,在該實(shí)驗(yàn)中,我們將著重讓學(xué)生體驗(yàn)一下ETL的處理過(guò)程,實(shí)驗(yàn)中使用的數(shù)據(jù)主要是來(lái)自于本專業(yè)各年級(jí)的學(xué)生成績(jī)、培養(yǎng)方案及課程信息的數(shù)據(jù),其中,既有格式化的數(shù)據(jù),也含有非格式化數(shù)據(jù),甚至?xí)袛?shù)據(jù)不完整、不統(tǒng)一等情況,對(duì)于這些不能夠直接使用的數(shù)據(jù),學(xué)生必須要進(jìn)行預(yù)處理之后才能夠使用。通過(guò)本次實(shí)驗(yàn)學(xué)生不僅可以體會(huì)到ETL的全過(guò)程,而且,也可以更加深刻的認(rèn)識(shí)到對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的必要性。
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘時(shí)一門新興學(xué)科,而且還涉及到很多相關(guān)學(xué)科的知識(shí),僅靠有限的課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,需要利用課余時(shí)間去查閱相關(guān)資料,同時(shí),還要多多動(dòng)手來(lái)實(shí)踐,這樣才能不斷豐富和深化自己對(duì)數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘的認(rèn)識(shí)。
另外,我們教研室的教師們也在一起努力學(xué)習(xí)利用MGO的方法來(lái)實(shí)現(xiàn)ETL的全過(guò)程,并準(zhǔn)備將其加入到我們的實(shí)驗(yàn)環(huán)節(jié)中來(lái),希望讓學(xué)生能夠掌握比較前沿的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)。
[1]蔣彬.Constructing Data Warehouses with Metadata-driven Generic Operators and more[M].DBJ Publishing,2011(07).
[2]王秋華.任務(wù)驅(qū)動(dòng)的數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘課程案例教學(xué)[J].黑龍江教育(高等教育與評(píng)估),2011(06).
[3]孫水華.數(shù)據(jù)倉(cāng)庫(kù)技術(shù)課程教學(xué)實(shí)踐與研究[J].福建工程學(xué)院學(xué)報(bào),2008(06).