牛宇
摘 要:隨著社會發(fā)展,數(shù)據(jù)分析、數(shù)據(jù)挖掘類課程建設(shè)成為復(fù)合人才培養(yǎng)和新學(xué)科建設(shè)的重要部分。由此,設(shè)計面向非信息專業(yè)的數(shù)據(jù)挖掘課程,開展相關(guān)的教學(xué)實踐研究很有必要。在厘清非信息專業(yè)數(shù)據(jù)挖掘課程的教學(xué)目標(biāo)、內(nèi)容和考核差異基礎(chǔ)上,提出了“橫縱交叉結(jié)構(gòu)化教學(xué)法”。該教學(xué)法以經(jīng)典算法為單元,對單元算法進(jìn)行“哲學(xué)原理—應(yīng)用實例—重點知識—作業(yè)考察”四步橫向推進(jìn)的方式講解和考察;同時將算法中的重點技術(shù)作為單元間縱向線索,串聯(lián)成一個完整的數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程。教學(xué)實踐中采用鮮活的實際案例,并強調(diào)數(shù)據(jù)結(jié)果分析和應(yīng)用等方面。最后對實踐教學(xué)經(jīng)驗和發(fā)現(xiàn)進(jìn)行了總結(jié)。
關(guān)鍵詞:橫縱交叉教學(xué)法;數(shù)據(jù)挖掘;教學(xué)改革
DOI:10. 11907/rjdk. 182409
中圖分類號:G434文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2019)004-0210-04
0 引言
隨著“大數(shù)據(jù)”概念的普及,人類從信息技術(shù)(Information Technology,IT)時代進(jìn)入數(shù)據(jù)技術(shù)(Data Technology,DT)時代。以數(shù)據(jù)驅(qū)動的人工智能、商務(wù)智能等不斷催生新的產(chǎn)業(yè)和經(jīng)濟(jì)增長點。然而,不斷膨脹的數(shù)據(jù)量和當(dāng)前的處理能力差距逐漸擴大,“Drowning in data,but starving for knowledge”現(xiàn)象愈發(fā)突出,數(shù)據(jù)分析人才急缺。為此高校新增了數(shù)據(jù)科學(xué)和數(shù)據(jù)交叉學(xué)科專業(yè),如《數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)》、《大數(shù)據(jù)管理與應(yīng)用》、《電子商務(wù)與營銷》、《智能醫(yī)學(xué)工程》、《金融數(shù)據(jù)工程》等課程[1]。數(shù)據(jù)挖掘作為數(shù)據(jù)科學(xué)專業(yè)的骨干課程,前承概率論、統(tǒng)計學(xué)、數(shù)據(jù)庫,后引導(dǎo)算法分析、商務(wù)智能決策等課程,涉及范圍廣、難度高,對實施非信息專業(yè)背景下本科數(shù)據(jù)挖掘教學(xué)是個挑戰(zhàn)[2]。
對數(shù)據(jù)挖掘課程開展的研究有:將數(shù)據(jù)挖掘作為一門引導(dǎo)性課程,教學(xué)的核心目標(biāo)是引導(dǎo)學(xué)生了解數(shù)據(jù)挖掘的基本原理和數(shù)據(jù)挖掘的主要應(yīng)用方向[3]。但以往數(shù)據(jù)挖掘?qū)嶒灜h(huán)節(jié)存在數(shù)據(jù)量過小,數(shù)據(jù)集理想化等問題,不能體現(xiàn)實際應(yīng)用中數(shù)據(jù)挖掘的需求和問題[4]。
針對數(shù)據(jù)挖掘教學(xué)的共性問題學(xué)者們也提出一些前沿改革建議,如李勇[5]提出要細(xì)化數(shù)據(jù)挖掘(機器學(xué)習(xí))教學(xué)目標(biāo),將啟發(fā)式和討論式教學(xué)、強化實踐教學(xué)、教學(xué)全過程考核和融合多種教學(xué)手段等措施應(yīng)用于本科機器學(xué)習(xí)教學(xué),針對數(shù)據(jù)挖掘配套的學(xué)期課程設(shè)計,提出圍繞學(xué)科特點,通過課程設(shè)計建立工程思想,培養(yǎng)工程意識[6-7]。張艷敏等[8-9]認(rèn)為高校教師應(yīng)把即將畢業(yè)的學(xué)生作為重要的教學(xué)對象,案例要與時俱進(jìn),培養(yǎng)學(xué)生采用數(shù)據(jù)挖掘知識解決實際工程問題的能力;王雷全[10]提出本科機器學(xué)習(xí)教學(xué)中以深度學(xué)習(xí)作為課程體系主導(dǎo),以Tensorflow為實踐平臺的機器學(xué)習(xí)科研實踐課程體系。
還有一些教學(xué)實踐中采用了真實數(shù)據(jù)并將案例應(yīng)用于相關(guān)交叉專業(yè),如廣西民族大學(xué)韋艷艷[11]等在數(shù)據(jù)挖掘?qū)嶒灲虒W(xué)中,采用淘寶網(wǎng)的真實數(shù)據(jù),取得了非常好的教學(xué)效果;南京中醫(yī)藥大學(xué)信息技術(shù)學(xué)院佘侃侃[12]在數(shù)據(jù)挖掘課程中,針對中醫(yī)藥理論實踐項目采用數(shù)據(jù)挖掘的方法發(fā)現(xiàn)規(guī)律;朱衛(wèi)平[13]研究了如何將數(shù)據(jù)挖掘與數(shù)據(jù)庫和法律課程在大數(shù)據(jù)背景下進(jìn)行聯(lián)動教學(xué);廖旺宇[14]的貫穿式案例教學(xué)法應(yīng)用在四川旅游學(xué)院本科教學(xué)實踐中,受到學(xué)生好評。
從目前成果來看,大量文獻(xiàn)、課程研究都集中在理工類背景的學(xué)?;蚓C合類學(xué)校中,人文背景下數(shù)據(jù)挖掘類課程體系設(shè)計和建設(shè)實踐較為缺乏[15-16]。本文就此問題從教學(xué)目標(biāo)、教學(xué)方法、教學(xué)效果方面提出實踐經(jīng)驗總結(jié),為相關(guān)研究提供借鑒。
1 教學(xué)目標(biāo)與特點
數(shù)據(jù)挖掘(Data Mining,DM)又稱知識發(fā)現(xiàn)(Knowledge Discovering),與機器學(xué)習(xí)(Machine Learning)、模式識別(Pattern Recognition)、人工智能(Aritificial Intelligence)等有較大重復(fù)交叉。盡管數(shù)據(jù)挖掘課程已推廣至眾多學(xué)科,但在新專業(yè)建設(shè)和課程內(nèi)容設(shè)計中,仍與計算機科學(xué)等信息類專業(yè)有差距。
信息類專業(yè)和非信息類專業(yè)對數(shù)據(jù)挖掘課程教育目標(biāo)差異明顯。信息類專業(yè)本身以設(shè)計/優(yōu)化數(shù)據(jù)挖掘方法和工具本身為目標(biāo),更偏重理論性和底層應(yīng)用,主要是對數(shù)據(jù)科學(xué)中模型的理解和運用。而非信息類專業(yè)對數(shù)據(jù)挖掘更多偏重應(yīng)用性,培養(yǎng)學(xué)生利用數(shù)據(jù)挖掘方法解決行業(yè)問題的能力。其次,教學(xué)受眾和基礎(chǔ)不同,非信息類專業(yè)和信息類專業(yè)在相關(guān)數(shù)學(xué)知識和編程基礎(chǔ)等方面有較大不同。所以在教學(xué)設(shè)計中,在保留課程核心內(nèi)容基礎(chǔ)上,對課時安排和內(nèi)容深淺程度進(jìn)行適合于教學(xué)目標(biāo)和聽課受眾的調(diào)整,見表1。
2 教學(xué)方法設(shè)計
針對不同學(xué)科受眾特點和教學(xué)重點的異同介紹教學(xué)實踐中的幾個實例。以“電子商務(wù)與營銷”專業(yè)大三下學(xué)期學(xué)生為例,該班文理科生各半,前序課程有概率論、統(tǒng)計學(xué)、數(shù)據(jù)庫原理、編程基礎(chǔ)等。課程內(nèi)容以通用數(shù)據(jù)挖掘處理流程為主線,對4-5個實用案例做詳細(xì)講解和示例,學(xué)生通過學(xué)習(xí)可以掌握3-4類數(shù)據(jù)挖掘經(jīng)典算法原理,能使用一門輕量級編程語言(Python)或分析軟件(Waikato Environment for Knowledge Analysis[17],WEKA)進(jìn)行數(shù)據(jù)處理操作。
2.1 數(shù)據(jù)挖掘通用流程
在了解數(shù)據(jù)挖掘基本概念后,首先需要建立框架概念,了解數(shù)據(jù)挖掘工作的通用處理流程?;緮?shù)據(jù)挖掘過程需經(jīng)歷數(shù)據(jù)獲取、預(yù)處理、算法學(xué)習(xí)和結(jié)果分析4個步驟,見圖1。
K近鄰算法(K-NearestNeighbor,KNN)原理簡單,通用性好,適合作為數(shù)據(jù)挖掘課程入門算法介紹。課堂以KNN為例,講解數(shù)據(jù)挖掘基本流程(下文提到的各種函數(shù)和庫均指Python 庫)。
案例選用加州大學(xué)歐文分校UCI(University of California Irvine)機器學(xué)習(xí)實驗室[18]提供的電離層數(shù)據(jù)(ionoshpere)為數(shù)據(jù)源,并以此介紹業(yè)界經(jīng)典科研數(shù)據(jù)集的采集和常見數(shù)據(jù)格式。數(shù)據(jù)獲取后引入3個模塊:轉(zhuǎn)換器transformer、模型model和流水線pipeline展示預(yù)處理、算法模型和流程化概念、用法。其中算法模型如果采用監(jiān)督式學(xué)習(xí)方法,則model分為訓(xùn)練器fit和預(yù)測器predictor兩步,而非監(jiān)督學(xué)習(xí)方法沒有訓(xùn)練fit這一步驟。流水線pipeline可以把連續(xù)的若干操作保存到工作流中,數(shù)據(jù)經(jīng)前一步處理后輸出結(jié)果作為下一步的輸入,實現(xiàn)流程化概念和代碼復(fù)用。作為結(jié)果分析的重要工具,引入Python繪圖庫Matplotlib做數(shù)據(jù)可視化分析和展示。結(jié)果分析對科研和商業(yè)數(shù)據(jù)分析非常重要,是進(jìn)行模型迭代優(yōu)化、解讀知識、指導(dǎo)后續(xù)操作的重要依據(jù)。
數(shù)據(jù)挖掘基本步驟又包含若干選項和具體步驟。如基于問題的特征選擇、特征構(gòu)建(Feature Engineering)也屬于預(yù)處理的一部分;基于數(shù)據(jù)特點和具體挖掘問題,采用不同的建模思想從而選擇不同的算法模型,這些都屬于數(shù)據(jù)挖掘框架的重要部分。
2.2 教學(xué)實踐
從數(shù)據(jù)挖掘10大經(jīng)典算法[19]中選擇應(yīng)用廣泛的6種算法進(jìn)行案例教學(xué),其中包括3種監(jiān)督式學(xué)習(xí)(K近鄰KNN、決策樹Decision Tree、貝葉斯Bayes)、兩種非監(jiān)督式學(xué)習(xí)(K均值Kmeans、層次聚類AGNES-DIANA)和一種關(guān)聯(lián)規(guī)則(Apriori)方法。眾所周知,每一類經(jīng)典算法之下都有數(shù)十或上百種變形優(yōu)化算法,基于學(xué)習(xí)者基礎(chǔ)原因,教學(xué)中選擇講授最基本的代表性算法,著重講解這些經(jīng)典算法體現(xiàn)的核心哲學(xué)思想,作為傳遞思維方式和后續(xù)自學(xué)高階算法的基礎(chǔ)。
兼顧學(xué)術(shù)和實際操作能力兩個方向,在講解每個算法時推薦1-2篇本領(lǐng)域較新的科技論文,了解當(dāng)前發(fā)展情況,同時學(xué)習(xí)科技論文的分析方法、思路和寫作技巧。在案例實現(xiàn)方面,選取實操性和趣味性強的前沿應(yīng)用案例作為課堂和作業(yè)代碼案例。
在教學(xué)內(nèi)容結(jié)構(gòu)安排上,采用橫縱交叉結(jié)構(gòu)化教學(xué)法,設(shè)計橫縱兩條線索,見圖2。
橫向線索顯示一個算法單元的教學(xué)和作業(yè)考察完整周期。每個單元選擇1-2個“核心算法”講解其原理,接著以“課堂案例”為應(yīng)用背景,在其中分配若干“知識重點”,并通過“作業(yè)考察”強化某項數(shù)據(jù)挖掘技能。自左向右循序完成一個算法教學(xué)單元。每個單元基于難度和教學(xué)重點不同安排4-6個課時完成。縱向線索主要體現(xiàn)在“知識重點”和“作業(yè)考察”這兩列,貫穿每一個橫向算法單元。在知識重點項中,有些只與此單元算法有關(guān),有些則是數(shù)據(jù)挖掘的基礎(chǔ)知識點在本案例中的運用和實現(xiàn)。如流水線函數(shù)在KNN單元引入,數(shù)據(jù)標(biāo)準(zhǔn)化、矢量化在聚類和貝葉斯單元中體現(xiàn);分類器評價參數(shù)(精度、召回率、準(zhǔn)確率、F值等)則放在貝葉斯分類單元中。作業(yè)考察部分結(jié)合課堂案例,在每個算法單元實現(xiàn)一項重要環(huán)節(jié),包括數(shù)據(jù)載入、特征工程構(gòu)建、可視化、模型選擇、結(jié)果應(yīng)用分析等,由上而下完成一套完整的挖掘流程。這里考慮受眾的學(xué)習(xí)目的和編程基礎(chǔ),作業(yè)考察內(nèi)容不單是算法分析和性能調(diào)優(yōu),更多放在數(shù)據(jù)采集、基本數(shù)據(jù)結(jié)構(gòu)了解、數(shù)據(jù)載入讀出、可視化和結(jié)果分析上。下面以決策樹算法單元教學(xué)實踐舉例說明。
3 基于決策樹的體育賽事預(yù)測案例
決策樹(Decision Tree)算法原理簡單,計算復(fù)雜度較低,可解釋性強,輸出結(jié)果易于可視化。下面以決策樹中分類回歸樹CART(Classification And Regression Tree)算法闡述數(shù)據(jù)挖掘中分類問題的實質(zhì)及應(yīng)用,了解監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的異同。
以一篇用決策樹分析德國非盈利性俱樂部推廣因素發(fā)現(xiàn)的文章[20]為例。決策樹除了做分類預(yù)測外,由于其算法可解釋性,還可用來做組織行為管理中關(guān)鍵影響因素發(fā)現(xiàn)、策略影響等。
選取NBA歷史數(shù)據(jù),運用決策樹預(yù)測球隊賽事輸贏。數(shù)據(jù)采自體育數(shù)據(jù)網(wǎng)站[21],數(shù)據(jù)結(jié)構(gòu)采用pandas中dataframe數(shù)據(jù)框,分類器采用python機器學(xué)習(xí)包sklearn中決策樹分類器,同時采用graphviz[21]做決策樹結(jié)果可視化(圖3)。本單元的學(xué)習(xí)重點除了決策樹系列算法原理外,還包含特征工程——從多維度原始數(shù)據(jù)中構(gòu)造影響比賽結(jié)果的關(guān)鍵特征。在數(shù)據(jù)挖掘里,好的特征選擇會直接影響到最終結(jié)果的性能,有時甚至比選擇合適的算法模型更重要。所以構(gòu)造和發(fā)掘潛在關(guān)鍵特征非常重要,特征工程的構(gòu)建作為本教學(xué)單元的作業(yè)部分重點研究。
決策樹涉及到的基本知識還包括遞歸、貪婪算法、信息熵等。在實際預(yù)測應(yīng)用時,決策樹更多采用隨機森林(Random Forest)的形式出現(xiàn),由此引入集成學(xué)習(xí)(Esemble Learning)方式,提升Boosting和分包(Bagging)等概念的理解。
4 結(jié)語
將橫縱交叉結(jié)構(gòu)化教學(xué)法應(yīng)用于旅游電子商務(wù)專業(yè)教學(xué),筆者從學(xué)習(xí)目的和學(xué)習(xí)意愿、課程難度、學(xué)習(xí)中最大障礙、希望學(xué)習(xí)的知識和技能幾個方向調(diào)研,結(jié)果見圖4~圖7。經(jīng)過調(diào)研發(fā)現(xiàn):學(xué)生學(xué)習(xí)意愿普遍增強,認(rèn)為課程難度適中。學(xué)生肯定了本文的教學(xué)方法,對教師在后續(xù)學(xué)科建設(shè)和課程安排上具有參考意義。
參考文獻(xiàn):
[1] 中華人民共和國教育部. 關(guān)于公布2017年度普通高等學(xué)校本科專業(yè)備案和審批結(jié)果的通知[教高函〔2018〕4號]. [EB/OL]. http://www.moe.gov.cn/srcsite/A08/moe_1034/s4930/201803/t20180321_330874.html
[2] 劉崢,王俊昌. 數(shù)據(jù)挖掘等進(jìn)階課程在本科高年級的教學(xué)方法 [J]. 現(xiàn)代計算機, 2017(4): 40-42.
[3] 杜卓明. 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘課程教學(xué)實踐與教學(xué)改革探索[J]. 科技視界,2014(10):86-88.
[4] 范祺,朱昌杰,肖建于,等. 以項目驅(qū)動的數(shù)據(jù)挖掘課程教學(xué)改革的研究[J]. 科技世界,2012(4):9-10.
[5] 李勇. 本科機器學(xué)習(xí)課程教改實踐與探索[J]. 計算機教育,2015(13):63-66.
[6] 鄧志鴻,謝昆青. 機器學(xué)習(xí)課程的教學(xué)實踐——以北京大學(xué)“智能科學(xué)與技術(shù)”本科專業(yè)為例 [J].? 計算機教育,2016(10):18-20.
[7] 鄧娜,林松,熊才權(quán),等. 基于案例和懸念的數(shù)據(jù)挖掘教學(xué)模式設(shè)計[J]. 計算機教育,2018(11): 97-99.
[8] 張艷敏. 大數(shù)據(jù)環(huán)境下的數(shù)據(jù)挖掘課程教學(xué)研究 [J]. 教育天地, 2018(8):175-176.
[9] 邵俊,楊勤麗. 理論創(chuàng)新驅(qū)動的數(shù)據(jù)挖掘課程教學(xué)改革[J]. 計算機教育,2017(4):92-94.
[10] 王雷全,吳春雷,郭曉菲. 機器學(xué)習(xí)科研實踐課程建設(shè)[J]. 電子世界,2017(17):50-51.
[11] 韋艷艷,張超群. 信息管理類專業(yè)《決策支持系統(tǒng)》實踐教學(xué)探討[J]. 高教學(xué)刊,2016(24):154-155.
[12] 佘侃侃. 中醫(yī)院校數(shù)據(jù)挖掘課程探索與改革[J]. 教育教學(xué)論壇,2013(49):198-199.
[13] 朱衛(wèi)平,陳佳玲. 大數(shù)據(jù)時代下的《商務(wù)智能與數(shù)據(jù)挖掘》課程教學(xué)改革研究[J]. 計算機教育,2017(10):33-36.
[14] 廖旺宇. 貫穿式案例教學(xué)法在數(shù)據(jù)挖掘課程中的應(yīng)用[J]. 教育天地,2018(3):209-210.
[15] 戰(zhàn)疆, 尤曉東,曹巍,等. 文科大學(xué)數(shù)據(jù)庫課程改革探索與實踐 [J].? 計算機教育, 2018(10):153-156.
[16] 陶燁,張莉,曹迎春. 面向高校文科生的數(shù)據(jù)科學(xué)基礎(chǔ)課程研究與實踐 [J]. 工業(yè)和信息化教育,2017(3): 32-35.
[17] IAN H, WITTEN, EIBE FRANK, et al. Practical machine learning tools and techniques with Java implementations[J]. ACM Sigmod Record , 1999,31 (1):76-77.
[18] UCI. Machine learning repository[EB/OL]. http://archive.ics.uci.edu/ml/datasets/.
[19] WU X,KUMAR V, QUINLAN J R, et al. Top 10 algorithms in data mining[J]. Knowledge and Information Systems,2008,14(1): 1-37.
[20] PAMELA WICKER,CHRISTOPH BREUER. Exploring the critical determinants of organisational problems using data mining techniques: evidence from non-profit sports clubs in Germany[J]. Managing Leisure, 2013,18(2):118-134.
[21] BASKETBALL REFERENCE. Basketball Stats and history[EB/OL]. http://www.basketball-reference.com/.
[22] GRAPHVIZ. Graph visualization software[EB/OL]. http://www.grap- hviz.org/.
(責(zé)任編輯:杜能鋼)