徐琴
摘要:提出在應(yīng)用型本科中開設(shè)數(shù)據(jù)挖掘技術(shù)課程是很有必要的,并從應(yīng)用型本科學(xué)生的實(shí)際出發(fā),提出課程的先導(dǎo)課程及基本要求,探討了數(shù)據(jù)挖掘課程的理論和實(shí)驗(yàn)教學(xué)內(nèi)容和教學(xué)方法。加以實(shí)踐,最終達(dá)到教學(xué)目的。
關(guān)鍵詞:數(shù)據(jù)挖掘技術(shù);應(yīng)用型本科;理論教學(xué);實(shí)驗(yàn)教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)22-0148-02
1 引言
數(shù)據(jù)挖掘總是讓人覺得就是“高大上”、“深不可測(cè)”,而該領(lǐng)域當(dāng)前主要是博士生、碩士生所研究的,另外,也只在一些研究生或重點(diǎn)大學(xué)的高年級(jí)的本科生中開設(shè)數(shù)據(jù)挖掘課程,在應(yīng)用型本科院校中很少開設(shè) [1]。
數(shù)據(jù)挖掘技術(shù)應(yīng)用很廣,應(yīng)用較好的領(lǐng)域、行業(yè)有:金融保險(xiǎn)業(yè)、電信、市場(chǎng)營(yíng)銷分析、醫(yī)學(xué)、體育、生物信息學(xué)(Bioinformatics)等方面[2]。在商業(yè)領(lǐng)域中,主要應(yīng)用如:客戶細(xì)分、客戶獲得、公司風(fēng)險(xiǎn)管理、企業(yè)危機(jī)管理、欺詐行為檢測(cè)和異常模式的發(fā)現(xiàn)等;在計(jì)算機(jī)領(lǐng)域中,主要應(yīng)用如:信息安全(入侵檢測(cè),垃圾郵件的過濾)、互聯(lián)網(wǎng)信息挖掘、自動(dòng)問答系統(tǒng)、網(wǎng)絡(luò)游戲(網(wǎng)絡(luò)游戲外掛檢測(cè)、免費(fèi)用戶到付費(fèi)用戶的轉(zhuǎn)化)等[3]。這一技術(shù)的廣泛應(yīng)用,必然在相關(guān)的企業(yè)中迫切需求掌握這一技術(shù)的人才。所以,開設(shè)數(shù)據(jù)挖掘技術(shù)課程對(duì)于應(yīng)用型本科來說是很有必要的。
但對(duì)于應(yīng)用型本科來說,若是像重點(diǎn)本科院?;蜓芯可n程那樣,在教學(xué)中以研究型為主,會(huì)導(dǎo)致學(xué)生的培養(yǎng)要求與教學(xué)內(nèi)容的深度和廣度不適應(yīng),學(xué)生會(huì)感覺到學(xué)習(xí)得很吃力,而且他們今后工作中的需求與所學(xué)到的知識(shí)相差也較大。對(duì)于應(yīng)用型本科的數(shù)據(jù)挖掘技術(shù)課程的內(nèi)容的安排,不僅要反映出數(shù)據(jù)挖掘技術(shù)的特點(diǎn)及前沿,還應(yīng)該結(jié)合學(xué)生的學(xué)習(xí)能力及興趣,也還需要綜合考慮本校該課程的學(xué)時(shí)分配、教學(xué)條件等,要具針對(duì)性,突出應(yīng)用這一重點(diǎn),目的是使學(xué)生能夠“學(xué)以致用”。
本文從應(yīng)用型本科的實(shí)際出發(fā),討論了數(shù)據(jù)挖掘課程的理論教學(xué)內(nèi)容及方法、實(shí)驗(yàn)教學(xué)內(nèi)容及方法,使學(xué)生能夠掌握和應(yīng)用所學(xué)的知識(shí)。
2 先導(dǎo)課程及課程的基本要求
先導(dǎo)課程有:程序設(shè)計(jì)語言、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫技術(shù)、Web技術(shù)、概率論等[4]。必須深入學(xué)習(xí)一門程序設(shè)計(jì)語言,從計(jì)算機(jī)發(fā)展和應(yīng)用角度,推薦學(xué)習(xí)C/C++和Java;對(duì)于“數(shù)據(jù)結(jié)構(gòu)”課程,掌握樹的知識(shí),數(shù)據(jù)挖掘中的很多算法都涉及樹的應(yīng)用;對(duì)于“數(shù)據(jù)庫技術(shù)”課程,掌握數(shù)據(jù)庫操作和應(yīng)用,因?yàn)閿?shù)據(jù)挖掘的主要對(duì)象是數(shù)據(jù)庫中的數(shù)據(jù);對(duì)于“Web技術(shù)”,因?yàn)閃eb已經(jīng)存在于我們生活方方面面,對(duì)于Web挖掘相當(dāng)重要,而且還具有巨大的應(yīng)用價(jià)值;對(duì)于“概率統(tǒng)計(jì)”課程,要能夠熟練掌握其中的思維方式、條件概率以及各種分布,在數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則、分類預(yù)測(cè)等,都會(huì)涉及概率統(tǒng)計(jì)中的思維和方法。
課程的基本要求:①了解數(shù)據(jù)挖掘的重要性,了解國(guó)內(nèi)外的發(fā)展的狀況及未來發(fā)展的方向;②掌握數(shù)據(jù)挖掘中的一些基本概念、經(jīng)典算法及相關(guān)技術(shù);③對(duì)于實(shí)際應(yīng)用問題,能熟練地運(yùn)用數(shù)據(jù)挖掘技術(shù)及工具解決;④為以后進(jìn)一步深造或進(jìn)行高級(jí)應(yīng)用開發(fā)打下基礎(chǔ)。[5,6]
3 理論教學(xué)及方法
對(duì)于應(yīng)用型本科生數(shù)據(jù)挖掘技術(shù)課程的教學(xué),本人認(rèn)為重要的是普及經(jīng)典算法,若有多余時(shí)間,可以補(bǔ)充一些較難的算法。對(duì)于經(jīng)典算法原理的講解,采取的是一步步地對(duì)小數(shù)據(jù)集案例進(jìn)行算法演練,以具體化比較抽象的算法,對(duì)于算法的優(yōu)缺點(diǎn),采取課堂討論的方式,可以加深學(xué)生對(duì)算法的理解和吸收。本校的數(shù)據(jù)挖掘技術(shù)課程的理論教學(xué)是32個(gè)學(xué)時(shí),課程的理論教學(xué)內(nèi)容主要包括:
(1)緒論(4學(xué)時(shí)):①先舉幾個(gè)數(shù)據(jù)挖掘中有意思的例子。第一個(gè):超市貨架的組織—“啤酒與尿布”;第二個(gè):基于拐點(diǎn)變化的股票趨勢(shì)預(yù)測(cè);第三個(gè):網(wǎng)上購物—“定向營(yíng)銷”;第四個(gè):農(nóng)夫山泉用大數(shù)據(jù)賣礦泉水;第五個(gè):阿迪達(dá)斯的“黃金羅盤”;第六個(gè):網(wǎng)易的“花田”—定制愛情。通過例子讓學(xué)生對(duì)數(shù)據(jù)挖掘有一個(gè)大致的認(rèn)識(shí),可以提起學(xué)生對(duì)學(xué)習(xí)本課程的興趣,也讓學(xué)生了解到目前的數(shù)據(jù)挖掘已經(jīng)發(fā)展到何種程度。②講解KDD與數(shù)據(jù)挖掘相關(guān)概念。③數(shù)據(jù)挖掘?qū)ο螅宏P(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫、事務(wù)數(shù)據(jù)庫、空間數(shù)據(jù)庫、時(shí)態(tài)和時(shí)間序列數(shù)據(jù)庫、文本數(shù)據(jù)、萬維網(wǎng)數(shù)據(jù)、流數(shù)據(jù)等等。④數(shù)據(jù)挖掘的方法與相關(guān)領(lǐng)域:分類預(yù)測(cè)型和描述型,通過例子簡(jiǎn)單介紹聚類、關(guān)聯(lián)規(guī)則、分類算法的概念、應(yīng)用領(lǐng)域等,使學(xué)生對(duì)要學(xué)習(xí)的算法有大致的認(rèn)識(shí)。⑤數(shù)據(jù)挖掘軟件與應(yīng)用系統(tǒng):介紹數(shù)據(jù)挖掘軟件:IBM Intelligent Miner、SPSS Clementine、Microsoft SQL Server 2008 Data Mining、Weka;數(shù)據(jù)挖掘應(yīng)用系統(tǒng):介紹在商業(yè)領(lǐng)域和計(jì)算機(jī)領(lǐng)域的應(yīng)用。
(2)數(shù)據(jù)預(yù)處理(2學(xué)時(shí)):先對(duì)數(shù)據(jù)進(jìn)行概述,包括:數(shù)據(jù)集的三個(gè)特性:維度、稀疏性和分辨率,它們對(duì)數(shù)據(jù)挖掘技術(shù)具有重要影響;數(shù)據(jù)挖掘中一些很常見的數(shù)據(jù)集的類型:記錄數(shù)據(jù)、基于圖形的數(shù)據(jù)和有序的數(shù)據(jù)。然后分別詳細(xì)介紹數(shù)據(jù)預(yù)處理的主要任務(wù):①數(shù)據(jù)清理;②數(shù)據(jù)集成;③數(shù)據(jù)變換;④數(shù)據(jù)歸約;⑤數(shù)據(jù)概念分層與離散化。每一項(xiàng)任務(wù)舉例講解。
(3)關(guān)聯(lián)規(guī)則(6學(xué)時(shí)):主要介紹關(guān)聯(lián)規(guī)則的相關(guān)概念、關(guān)聯(lián)規(guī)則的經(jīng)典算法Apriori及它的改進(jìn)算法FP_Tree、規(guī)則的產(chǎn)生,簡(jiǎn)單介紹多級(jí)關(guān)聯(lián)規(guī)則和多維關(guān)聯(lián)規(guī)則、非二元屬性的關(guān)聯(lián)規(guī)則、關(guān)聯(lián)規(guī)則的評(píng)估(提升度(lift) /興趣因子的計(jì)算)等。
(4)聚類(6學(xué)時(shí)):主要介紹聚類的概念及距離的計(jì)算(歐氏距離、曼哈頓距離、明可夫斯基距離)、基于劃分的聚類算法(基本K-means聚類算法及其拓展、PAM算法)、層次聚類算法(凝聚的層次聚類算法AGNES、分裂的層次聚類算法DIANA)、基于密度的聚類算法(DBSCAN);簡(jiǎn)單介紹層次聚類方法的改進(jìn)—BIRCH算法、CURE算法以及聚類算法評(píng)價(jià)。
(5)分類和預(yù)測(cè)(10學(xué)時(shí)):①?zèng)Q策樹(4學(xué)時(shí)):主要講解決策樹的概念、信息論、ID3算法和C4.5算法。②貝葉斯分類(2學(xué)時(shí)):主要講解貝葉斯定理及樸素貝葉斯分類算法。③人工神經(jīng)網(wǎng)絡(luò)(4學(xué)時(shí)):主要介紹人工神經(jīng)網(wǎng)絡(luò)的概念及單感知器模型,簡(jiǎn)單介紹BP神經(jīng)網(wǎng)絡(luò)。
(6)數(shù)據(jù)挖掘模型的評(píng)估(2學(xué)時(shí)):簡(jiǎn)單介紹模型的過擬合、沒有天生優(yōu)越的分類器、模型選擇和模型評(píng)估、評(píng)估分類器或預(yù)測(cè)器的準(zhǔn)確率——簡(jiǎn)單劃分和交叉驗(yàn)證、數(shù)據(jù)挖掘模型評(píng)估的錯(cuò)誤觀念。
對(duì)于9個(gè)需主要介紹的經(jīng)典算法的講解,如Apriori算法,先介紹算法的流程,然后通過超市購物籃的一個(gè)小數(shù)據(jù)集一步步地進(jìn)行算法的演練,得出頻繁項(xiàng)集,如下圖所示:
又如決策樹算法和樸素貝葉斯分類算法,通過如下所示的關(guān)于動(dòng)物的數(shù)據(jù)集,一步步地進(jìn)行相關(guān)算法的演練,通過建立決策樹或計(jì)算概率問題,判斷一個(gè)未知的動(dòng)物X={1,0,0,1,?}是否會(huì)生蛋。
對(duì)于算法的優(yōu)缺點(diǎn),在講解完算法的過程之后,采取課堂討論的方式,與學(xué)生共同分析總結(jié)算法好在哪里,不足又在哪里,學(xué)生通過參與,可以加深對(duì)算法的理解與掌握。
4 實(shí)驗(yàn)教學(xué)及方法
對(duì)于應(yīng)用型本科的學(xué)生來說,采用Weka進(jìn)行算法編寫是不切實(shí)際的,實(shí)驗(yàn)教學(xué)工具建議采用目前一些主流的數(shù)據(jù)挖掘軟件,如 SPSS Clementine或 Microsoft SQL Server 2008 Data Mining等[7]。這些軟件都具有必需的數(shù)據(jù)預(yù)處理工具及預(yù)設(shè)的挖掘算法,學(xué)生可以把注意力放在要挖掘的數(shù)據(jù)及要相關(guān)需求上,設(shè)定挖掘的主題,然后采用這些軟件完成相關(guān)主題的數(shù)據(jù)挖掘過程,這樣也可以積累一定的處理實(shí)際挖掘問題的實(shí)戰(zhàn)經(jīng)驗(yàn),今后碰到項(xiàng)目時(shí)也可知道從何處下手。
本校的數(shù)據(jù)挖掘技術(shù)課程的實(shí)驗(yàn)教學(xué)是8個(gè)學(xué)時(shí),共兩次上機(jī),采用Microsoft SQL Server 2008 Data Mining對(duì)Adventure Works DW 2008R2 示例數(shù)據(jù)庫進(jìn)行數(shù)據(jù)挖掘。課程的實(shí)驗(yàn)教學(xué)內(nèi)容主要包括:
實(shí)驗(yàn)一:SQL Server 2008 數(shù)據(jù)多維分析環(huán)境的建立;
實(shí)驗(yàn)二:關(guān)聯(lián)規(guī)則挖掘方法;
實(shí)驗(yàn)三:決策樹挖掘方法;
實(shí)驗(yàn)四:聚類挖掘方法。
為了讓學(xué)生更好地進(jìn)行實(shí)踐動(dòng)手,在教學(xué)中分兩步:第一步,具體的操作步驟的講解,由老師進(jìn)行;第二步,學(xué)生上機(jī)并詳細(xì)的分析挖掘結(jié)果,要求學(xué)生熟悉使用Microsoft SQL Server 2008進(jìn)行數(shù)據(jù)挖掘的步驟,以及幾種常用的算法的挖掘過程:包括創(chuàng)建數(shù)據(jù)源、創(chuàng)建數(shù)據(jù)源視圖、創(chuàng)建挖掘結(jié)構(gòu)(主要參數(shù)的設(shè)置)、處理和瀏覽挖掘模型。如關(guān)聯(lián)規(guī)則,要求學(xué)生分析挖掘的模型,找出有價(jià)值的規(guī)則出來。
5 結(jié)論
為迎接大數(shù)據(jù)時(shí)代帶來的互聯(lián)網(wǎng)經(jīng)濟(jì)機(jī)遇,很有必要同時(shí)也是時(shí)代迫使在應(yīng)用型本科中開設(shè)數(shù)據(jù)挖掘課程。對(duì)這一類學(xué)校的教學(xué)也是一個(gè)挑戰(zhàn),需要老師們?cè)诮虒W(xué)過程中不斷摸索和改進(jìn)。在教學(xué)過程中,需要針對(duì)應(yīng)用型本科生的學(xué)習(xí)能力、知識(shí)結(jié)構(gòu),設(shè)計(jì)好教學(xué)內(nèi)容并采用適當(dāng)?shù)慕虒W(xué)方法,從而使學(xué)生對(duì)學(xué)習(xí)的內(nèi)容感興趣,改進(jìn)課堂教學(xué)效果,以提高學(xué)生實(shí)際動(dòng)手能力,使學(xué)生對(duì)數(shù)據(jù)挖掘課程的整體結(jié)構(gòu)、基本概念、經(jīng)典算法有較深入理解和掌握,最終達(dá)到教學(xué)目的。
參考文獻(xiàn):
[1] 徐金寶.對(duì)應(yīng)用型本科生開設(shè)數(shù)據(jù)挖掘課程的嘗試[J].計(jì)算機(jī)教育,2007(14):27-29,57.
[2] 李?yuàn)檴櫍钪? 就業(yè)需求驅(qū)動(dòng)下的本科院校數(shù)據(jù)挖掘課程內(nèi)容體系探討[J].計(jì)算機(jī)時(shí)代,2015(1):60-61,64.
[3] 張艷.大數(shù)據(jù)背景下的數(shù)據(jù)挖掘課程教學(xué)新思考[J].計(jì)算機(jī)時(shí)代,2014(4):59-61.
[4] 李忠,李?yuàn)檴? 應(yīng)用型本科院校IT專業(yè)數(shù)據(jù)挖掘課程建設(shè)[J].計(jì)算機(jī)時(shí)代,2014(11):65-69.
[5] 張?jiān)銎?,喬曉華. 針對(duì)應(yīng)用型本科生數(shù)據(jù)挖掘課程的教學(xué)實(shí)踐[J].內(nèi)蒙古財(cái)經(jīng)大學(xué)學(xué)報(bào),2015,13(4):132-137.
[6] 周忠眉. 數(shù)據(jù)挖掘課程大綱的建設(shè)[J].漳州師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2005(1):88-90.
[7] 李霞.本科數(shù)據(jù)挖掘課程教學(xué)經(jīng)驗(yàn)淺談[J].福建電腦,2012(1):43-44.