劉亮亮 柳青
摘要:大數(shù)據(jù)時代對經(jīng)管類專業(yè)的學(xué)生提出了新的挑戰(zhàn)和更高的要求,在經(jīng)管類專業(yè)中引入數(shù)據(jù)挖掘課程是一個有益的嘗試,從內(nèi)容重組、算法重現(xiàn)、案例教學(xué)、實踐教學(xué)等四個方面闡述了這門課程的教學(xué)方法。通過數(shù)據(jù)挖掘課程的學(xué)習(xí)學(xué)生的專業(yè)素養(yǎng)得到了提高,競爭力得以加強。
關(guān)鍵詞:大數(shù)據(jù);數(shù)據(jù)挖掘;Python;教學(xué)方法;人才培養(yǎng)
中圖分類號:G642? ? ? ?文獻標(biāo)識碼:A? ? ? ? 文章編號:1009-3044(2018)35-0136-02
Abstract:In the era of big data, new challenges and higher requirements have been put forward for students majoring in economics and management. Introducing data mining into economics and management is a beneficial attempt. This paper expounds the teaching methods of this course from four aspects: content reorganization, algorithm reappearance, case teaching and practice teaching.Through the course of data mining, students' professional quality has been improved and their competitiveness has been strengthened.
Key words: big data; data mining; Python; teaching method; personnel training
1 概述
我們所處的時代,各行各業(yè)的海量數(shù)據(jù)集不斷出現(xiàn),新知識、新技術(shù)層出不窮,云計算、物聯(lián)網(wǎng)、數(shù)據(jù)挖掘、機器學(xué)習(xí)、深度學(xué)習(xí)的技術(shù)應(yīng)用到各行各業(yè)中。2015年9月,國務(wù)院印發(fā)《促進大數(shù)據(jù)發(fā)展行動綱要》,系統(tǒng)部署大數(shù)據(jù)發(fā)展工作;2016年3月17日,《中華人民共和國國民經(jīng)濟和社會發(fā)展第十三個五年規(guī)劃綱要》發(fā)布,在第六篇拓展網(wǎng)絡(luò)經(jīng)濟空間中的第二十七章“實施國家大數(shù)據(jù)戰(zhàn)略”提出:把大數(shù)據(jù)作為基礎(chǔ)性戰(zhàn)略資源,全面實施促進大數(shù)據(jù)發(fā)展行動。麥肯錫全球研究所的報告[1]也指出有效地捕捉、分析、可視化、應(yīng)用大數(shù)據(jù)來洞察、實現(xiàn)業(yè)務(wù)目標(biāo),將能夠幫助企業(yè)從激烈的競爭中脫穎而出。時代的發(fā)展,數(shù)據(jù)管理方式的變化必將帶來人才培養(yǎng)方式的革命性改變。以往計算機及相近專業(yè)的專業(yè)課程逐漸在經(jīng)管類專業(yè)開設(shè),數(shù)據(jù)挖掘就是其中的一門。由于數(shù)據(jù)挖掘課程在理工類專業(yè)開設(shè)較多,所以教學(xué)方法的討論也集中在計算機及相近專業(yè)。文獻[2]以構(gòu)建課程核心知識體系為主題,采用案例教學(xué)法,改革傳統(tǒng)的教學(xué)評價方式,理論結(jié)合實踐對作為計算機應(yīng)用專業(yè)的研究生核心課程數(shù)據(jù)挖掘進行了教學(xué)創(chuàng)新嘗試;文獻[3]也是對作為計算機科學(xué)與技術(shù)專業(yè)的核心課程數(shù)據(jù)挖掘提出以項目式學(xué)習(xí)為導(dǎo)向,案例輔助教學(xué)的教學(xué)方法,結(jié)合翻轉(zhuǎn)課堂教學(xué)模式,從課前學(xué)習(xí)、課中討論和課后應(yīng)用三個環(huán)節(jié)開展教學(xué)活動,提倡研究生自主學(xué)習(xí);文獻[4]詳細分析了數(shù)據(jù)挖掘課程產(chǎn)生的背景,確立數(shù)據(jù)挖掘課程在計算機及相關(guān)專業(yè)的定位,梳理了數(shù)據(jù)挖掘課程的理論方法與內(nèi)容體系,強調(diào)注重理論與實際應(yīng)用項目的結(jié)合。在經(jīng)管類專業(yè)中開設(shè)數(shù)據(jù)挖掘課程,與在理工類專業(yè)開設(shè)既有相似的地方,又有很多不同點?;诖?,我們有必要探討在大數(shù)據(jù)背景下經(jīng)管類專業(yè)開設(shè)數(shù)據(jù)挖掘課程如何設(shè)計教學(xué)內(nèi)容,如何采用行之有效的教學(xué)方法提高學(xué)生數(shù)據(jù)分析數(shù)據(jù)挖掘的能力,以便能夠在大數(shù)據(jù)時代提高自己的競爭力。
2 經(jīng)管類專業(yè)開設(shè)數(shù)據(jù)挖掘課程面臨的問題
數(shù)據(jù)挖掘課程是理論和實踐緊密結(jié)合的一門課程,理論要求較高,涉及數(shù)據(jù)與信息的存儲理論、知識發(fā)現(xiàn)、決策支持、預(yù)測和決策等多個方面;數(shù)據(jù)挖掘課程又是一門交叉學(xué)科,學(xué)生知識結(jié)構(gòu)不完整,可能存在某些缺陷;工具的選擇也很多,Matlab、SPSS、SAS、Python等都是很好的數(shù)據(jù)挖掘工具,雖然不太可能要求學(xué)生每種工具都熟練掌握,但是要用到這些工具做數(shù)據(jù)挖掘必須掌握基本的語法結(jié)構(gòu)和程序設(shè)計的方法,有的學(xué)生并不具備這方面的技能。
3 采用的教學(xué)方法
我們采用的教學(xué)方法是“理論——案例——實踐”貫穿于整個教學(xué)過程中。
3.1 教材的選擇以及內(nèi)容的重組
數(shù)據(jù)挖掘的經(jīng)典教材是由范明、范宏建等譯的《數(shù)據(jù)挖掘?qū)д摗?,這本書的好處是考慮到學(xué)習(xí)這門課程的學(xué)生背景不同,他們可能并不具備廣博的統(tǒng)計學(xué)和數(shù)據(jù)庫知識,將統(tǒng)計學(xué)、線性代數(shù)和機器學(xué)習(xí)的必要基礎(chǔ)知識或融入正文,或包含在附錄中[5]。這樣的安排非常適合我們學(xué)校經(jīng)管類的學(xué)生,他們并不具備非常完備的統(tǒng)計學(xué)、數(shù)學(xué)、計算機的知識,但又不是完全不懂,略知一二,具備學(xué)習(xí)數(shù)據(jù)挖掘的基本條件,他們的共同目標(biāo)是盡快地將數(shù)據(jù)挖掘的知識應(yīng)用到各自的領(lǐng)域。我們主要講解分類、聚類、回歸等算法,同時融合李航教授的《統(tǒng)計學(xué)習(xí)方法》[6]相關(guān)內(nèi)容;對于算法這本書給出的均是算法框架,需要用一門高級語言真正來實現(xiàn),為了更好地理解其中各項參數(shù)的意義,我們又參考了《集體智慧編程》[7]、《智能Web算法》[8]等有關(guān)編程的書籍;另外,利用網(wǎng)絡(luò)資源如Coursera上的 Machine Learning 公開課,講了很多經(jīng)典算法,還提供了用Python寫的Demo。我們將這些內(nèi)容融合在一起,組成具有經(jīng)管特色的數(shù)據(jù)挖掘課程的內(nèi)容。
3.2 要求學(xué)生理解并編寫算法,真正弄懂算法的內(nèi)涵
數(shù)據(jù)挖掘課程中有很多經(jīng)典算法,理解這些經(jīng)典算法就要弄懂其中的關(guān)鍵步驟和涉及的函數(shù)。比如在單變量線性回歸問題中,著重要理解損失函數(shù),理解了損失函數(shù)繼而能夠講解梯度下降算法。梯度下降算法主要有三種變種:批量梯度下降、隨機梯度下降、小批量梯度下降,主要區(qū)別在于使用多少數(shù)據(jù)來計算目標(biāo)函數(shù)的梯度,不同方法主要在準(zhǔn)確性和優(yōu)化速度間做權(quán)衡。繼而我們要求學(xué)生從創(chuàng)建數(shù)據(jù)集、定義模型、定義損失函數(shù)、初始化模型到訓(xùn)練、繪制擬合曲線圖、繪制訓(xùn)練誤差圖,訓(xùn)練完成以后,比較學(xué)得的參數(shù)和真實參數(shù),用Python代碼一步一步地實現(xiàn),并且嘗試用不同的學(xué)習(xí)率查看誤差下降速度(收斂率)。同樣在多變量線性回歸問題中,算法原理講解完成以后,也是類似地用Python代碼一步一步實現(xiàn)。這樣類似的算法還有很多,如對手寫數(shù)字進行識別要利用分類算法,分類算法有K-近鄰、樸素貝葉斯、支持向量機、AdaBoost算法等;群組發(fā)現(xiàn)或短文本聚類要用到聚類算法(K-means算法等)。這樣學(xué)生既熟悉了語言,又對算法有全方位的理解,真正弄懂算法的內(nèi)涵。
3.3 案例教學(xué):用機器學(xué)習(xí)庫解決問題
弄清楚解決問題的算法后,我們就要用到機器學(xué)習(xí)庫解決問題。對同一個問題可以使用不同的方法來解決。比如預(yù)測房價是一個回歸問題,sklearn機器學(xué)習(xí)包中已經(jīng)自帶了該數(shù)據(jù)集,可以直接引用。先對房價數(shù)據(jù)集進行簡單的數(shù)據(jù)可視化,了解其中的數(shù)據(jù)情況。接著做線性回歸,劃分數(shù)據(jù)集為訓(xùn)練集和測試集,然后導(dǎo)入線性回歸模型,隨后對訓(xùn)練集進行訓(xùn)練操作,預(yù)測結(jié)果,最后評估模型的性能。接著我們可以使用多項式回歸與曲線擬合、使用基于樹的算法進行回歸(決策樹回歸、隨機森林回歸),比較不同模型的性能。
3.4 實踐教學(xué):利用所學(xué)完成實踐項目
學(xué)生了解算法再經(jīng)過案例教學(xué)后,就可以利用所學(xué)完成實踐項目了。我們將學(xué)生分成小組,3~5個人一組,共同完成實踐項目。比如可以從中國國家統(tǒng)計局官網(wǎng)上下載有關(guān)房價的數(shù)據(jù),分析房屋均價,并選取與其有關(guān)的如國內(nèi)生產(chǎn)總值、全國居民消費水平等變量進行多元回歸分析。學(xué)生完成項目以后,學(xué)生自評、教師點評,既肯定做得到位的地方,也指出不足之處,以便學(xué)生能更好地提高和發(fā)展。同時這一屆做得好的項目可以當(dāng)作下一屆的案例。
4 結(jié)束語
數(shù)據(jù)挖掘是一門重要的專業(yè)基礎(chǔ)課程,必須具備多學(xué)科、多領(lǐng)域的理論知識,并結(jié)合實踐應(yīng)用提升學(xué)生的學(xué)習(xí)效果和專業(yè)水平[4]。在大學(xué)里,設(shè)置一門課程,不能只關(guān)注這門課程所含的內(nèi)容,更要考慮教育培養(yǎng)學(xué)生基本專業(yè)能力、可持續(xù)發(fā)展能力等本質(zhì)性的問題[2]。我們對在經(jīng)管類專業(yè)中引入數(shù)據(jù)挖掘課程進行了有益的嘗試。實踐證明,通過這門課程的學(xué)習(xí),學(xué)生運用數(shù)據(jù)挖掘的知識解決專業(yè)問題的水平顯著提高,懂得了團隊合作的重要性,增強了競爭力。同時,教師在教授這門課程的過程中完善了自身的知識結(jié)構(gòu),教學(xué)水平也得到了不斷地提高。
參考文獻:
[1] http://cdn.oreillystatic.com/en/assets/1/event/71/Big%20Data_%20The%20Next%20Frontier% 20Presentation.pdf.
[2] 張艷.大數(shù)據(jù)背景下的數(shù)據(jù)挖掘課程教學(xué)的新思考[J].計算機時代,2014(1):59-61.
[3] 陳晶,呂佳.高校數(shù)據(jù)挖掘課程教學(xué)模式探究[J].電腦知識與技術(shù), 2018,14(1):45-46.
[4] 陳燕. 數(shù)據(jù)挖掘課程教學(xué)方法初探[J].教育教學(xué)論壇,2018,3(13):146-148.
[5] [美]Pang-Ning Tan,Michael Steinbach,Vipin Kumar.數(shù)據(jù)挖掘?qū)д摚和暾鎇M].2版.范明,范宏建,等,譯.北京:人民郵電出版社,2011.1.
[6] 李航.統(tǒng)計學(xué)習(xí)方法[M]. 北京:清華大學(xué)出版社,2012.3
[7] [美]Toby Segaran.集體智慧編程[M]. 莫映,王開福, 譯.北京:電子工業(yè)出版社,2015.3.
[8] [英]Douglas G.Mcll wraith [美]HaralambosMarmains,DmitryBabenko.智能Web算法(第2版)[M]. 陳運文等,譯. 北京:電子工業(yè)出版社,2017.6.
[通聯(lián)編輯:王力]