曹楠源 許衛霞
[摘 要] “數據挖掘”課程是大數據相關專業的重要專業課程,通過數據挖掘可以發現數據中隱藏的價值。該課程采取理論與實踐相結合的教學模式,在理論教學方面主要講解數據挖掘的經典算法;在實踐教學方面使用Python編程實現理論部分的經典算法,讓學生通過算法的編程進一步掌握算法。按照課程思政改革的要求,在課程設計中設置一些以社會實際問題為主題的案例,在提高學生學習興趣的同時引導學生樹立正確的價值觀。對于復雜的、抽象的數據挖掘理論算法開設線上課程,有利于學生回顧重要的、難理解的知識點,幫助學生掌握理論知識。
[關鍵詞] 數據挖掘;課程思政;教學設計
[基金項目] 2020年度上海立信會計金融學院信息管理學院高地大項目“數值計算微專業建設”
[作者簡介] 曹楠源(1989—),女,江蘇鹽城人,博士,上海立信會計金融學院信息管理學院講師,主要從事數據科學與大數據技術研究;許衛霞(1988—),女,江蘇南通人,博士,上海立信會計金融學院信息管理學院講師,主要從事數據科學與大數據技術研究。
[中圖分類號] G642.3 [文獻標識碼] A [文章編號] 1674-9324(2022)04-0172-04 [收稿日期] 2021-05-20
引言
近年來,人們越來越認識到數據的重要性,數據也被稱為“未來的石油”。數據挖掘可以看作是開采“石油”的工具,幫助人們從海量的數據中通過數據挖掘算法將隱藏在數據中的價值提取出來[1]。數據挖掘匯集了統計學、人工智能、機器學習、數據庫等諸多學科的知識,主要研究如何從大量、有噪聲、不完全,以及隨機的數據中提取隱含的、預先未知的且有潛在價值的信息[2-6]。“數據挖掘”課程可以促進學生了解大數據、用好大數據,并且善于獲取數據、分析數據、運用數據,培養學生正確的世界觀、價值觀、人生觀,提高學生的學習興趣和解決現實問題的能力。
目前,“數據挖掘”采取線下教學模式,使用理論與實踐相結合的教學方式。數據挖掘主要包括問題的定義、數據的采集、數據預處理、數據挖掘,以及結果評估和展示五個步驟。課程的理論部分主要講解數據挖掘的經典算法,例如:樸素貝葉斯分類算法、ID3算法、C4.5算法、Apriori算法、FP增長算法、Cart算法、K均值算法等。實踐部分分為三個階段講解:一是使用Python程序進行數據的采集及數據的預處理;二是使用Python程序實現數據挖掘的經典算法的代碼實現;三是使用Python程序實現數據挖掘結果的可視化展現。“數據挖掘”課程中包含了大量復雜、抽象的算法,對學生的數學功底要求較高。如果學生的數學功底不是太好,對課程算法的學習會比較吃力,也會失去對“數據挖掘”課程學習的興趣。同時,對于“數據挖掘”課程中的綜合案例,往往不是一個算法就能分析得到想要的結果,一般需要循序漸進地使用不同的分析方法、算法來處理數據,得到結果。而學生在面對綜合案例時往往沒有清晰的思路,不知道在哪個步驟使用哪種分析方法及算法,因此,如何讓學生不畏懼學習“數據挖掘”課程中復雜抽象的算法,如何讓學生更好地掌握理論知識,以及如何讓學生能夠條理清晰地分析綜合案例、使用合適的分析方法和建立適當的模型,這些都是我們改進教學設計的方向。
本文以課程思政改革為指導思想,以提高學生的學習興趣、增強學生解決現實具體問題的能力為目標,對“數據挖掘”課程的教學設計進行探討,研究如何提升“數據挖掘”課程的理論和實踐教學的效果。
一、課程教學設計探討
本節分別從“數據挖掘”的課程目標、課程設置、課程實驗及課程案例四個方面探討“數據挖掘”課程的教學設計。
(一)課程目標
“數據挖掘”是大數據相關專業的重要專業課,也是一門交叉學科,包含了統計學、人工智能、機器學習、數據庫等學科的知識。
該課程的主要目標是幫助學生從紛繁復雜且參差不齊的信息中發現有價值的規律和知識,并將它們提煉出來以幫助科學決策。例如,在零售業的數據倉庫系統中,存儲著海量的零售商和客戶交易的詳細數據,而我們無法通過人眼直接看出這些大量交易數據中的商品是否存在著某些聯系。1993年,Rakesh Agrawal等人提出了購物籃分析[7],提出了在數據倉庫系統所存儲的交易數據中的商品存在著某種聯系——關聯關系[8],通過分析交易數據當中的商品集合,可以找到關聯算法(計算哪些商品之間存在關聯關系),而商品之間所存在的關聯關系則表示了用戶的購買行為。當零售商分析得到用戶的購買行為后,就可以對商品的庫存量、商品在貨架上的排布等進行統一安排,從而使零售商的競爭力進一步得到提高。沃爾瑪超市的啤酒和尿布的陳列故事是一個經典的購物籃分析案例,數據挖掘公司NCR Teradata利用數據挖掘工具(關聯算法)對沃爾瑪超市數據倉庫系統中的商品集合進行了分析,意外得出了和尿布一起被人們購買的產品是啤酒的結論,之后,沃爾瑪超市就在其門店中將尿布和啤酒陳列在一起,這種匪夷所思的陳列卻讓兩種商品的銷售量都得到很大的提升。當今已進入大數據時代,各行各業每天都在產生著大量的數據,數據中可能隱藏著我們所不知道的價值,人的大腦無法從海量的數據中把數據的價值快速地提取,但借助數據挖掘工具,我們可以快速地從數據中提煉出數據的價值和有益的信息?!皵祿诰颉闭n程就是幫助學生認識數據的價值,為學生提供將價值從數據提取出來的方法,提高學生以后的工作能力。
通過“數據挖掘”課程,學生能夠擁有分析數據的能力?!皵祿诰颉闭n程中包含很多經典的算法,教師除了詳細講解經典的算法外,對每個算法會設置具體的案例,同時設置綜合案例以使學生鞏固所學。本課程的主要目的是不僅讓學生掌握經典的數據分析算法,也讓學生學以致用,能夠靈活地運用算法,將算法運用到實際問題中,提高學生解決實際問題的能力。
(二)課程設置
在“數據挖掘”教學中,根據學生的學習反饋,主要有如下兩個問題:一是學習算法難度大。“數據挖掘”課程中包含了支持向量積、邏輯回歸、粗糙集、BP神經網路、卷積神經網絡等算法,掌握這些抽象的算法需要學生具有較強的數學功底和邏輯分析能力,所以,大量抽象的定義、算法,容易讓學生望而生畏,也降低了學生學習的興趣。二是綜合案例分析難度大。在對特定的數據挖掘算法而設定的具體案例進行分析時,學生知道用何種學習算法訓練模型分析數據;但對于綜合案例,學生的思路是模糊不清的,無法把所學的挖掘算法串聯起來靈活地使用。在做數據的挖掘和分析時,要么不知道選擇何種學習算法,在數據挖掘時比較片面,要么在挖掘過程中沒有條理,比較混亂。因此,在課程設置方面,為了解決以上問題,嘗試下述方法。
1.在講解難度較大的算法之前,先劃定部分課時來講解相關的預備知識,將算法中涉及的數學等重要知識提取出來,做總結和歸納,幫助學生理解數據挖掘算法的核心思想。
2.對于抽象的算法,使用學生比較熟悉的案例進行引導,通過展示例子的計算過程,讓學生理解并熟悉算法流程的每一個步驟,掌握算法的核心思想。
3.利用網絡資源,建設“數據挖掘”線上課程。梳理“數據挖掘”教學內容,提煉課程中的知識點,對每一個知識點錄制視頻詳細講解。學生如果對課程中的知識點有疑問,就可以隨時隨地觀看相應知識點的講解,掌握課程內容。
4.調整課程設置中的理論課時和實踐課時的占比,增加實踐課時,培養學生解決實際問題的能力。對于案例的選擇,不拘泥于每次課所學的算法。挑選綜合案例,將已學的算法進行綜合應用,采取教師帶學、學生分組討論等方式進行案例分析,通過實踐使學生更加深入地掌握各個算法,并學會靈活應用。
(三)課程實驗
“數據挖掘”課程中所涉及的知識面廣,知識點抽象,不易理解,邏輯性強。若偏重于理論教學,就會削弱學生動手實踐的能力,特別是在面對綜合案例時,學生將會無從下手,不知道怎樣選擇學習算法、怎么優化模型。為增強學生完成挖掘數據的能力,本課程嘗試增加實驗的課時量,在每個算法講解完后,給出具體的案例,讓學生通過編程完成數據分析,使學生在實踐中體會數據挖掘算法在解決現實問題中的魅力。
本課程對樸素貝葉斯算法、ID3算法、Cart算法、Apriori算法、FP增長算法、K-均值等數據挖掘中的經典算法展開實驗。通過Python程序設計語言,實現樣本數據的采集、預處理,以及模型的建模和優化。課程實驗過程中所涉及的數據數量為中小規模,根據數據的數量,選擇適合的模型。對樣本數據進行分析,不同模型所給出的分析結果的準確率也會存在差異,對比不同模型的分析結果,幫助學生在以后的數據挖掘中能夠選擇更優的模型進行數據的分析預測。通過設置綜合實驗,把已學的算法應用到具體的實事案例中,幫助學生掌握數據的預處理、建模、優化分析流程,提高學生做數據分析的能力。
課程實驗主要分為三個模塊:一是實現數據的采集,數據的來源主要是互聯網。使用Python程序設計語言編寫爬蟲代碼,從互聯網上爬取相關的數據。通過具體實驗,讓學生了解爬蟲的概念、常見爬蟲的框架、爬蟲的架構,以及爬蟲的策略,并初步掌握使用哪些模塊可以對爬取的數據進行清洗。同時,設置實驗,爬取網絡上的博客文章、豆瓣電影信息、智聯招聘信息等。二是實現數據的預處理。無論是從互聯網上,還是從數據庫中獲取的數據,都易出現數據異常、數據缺失、數據輸入錯誤等問題,因此我們需要對數據進行預處理。另外,由于不同的數據挖掘算法工具所處理的數據特征各不相同,所以要對數據特征進行處理,主要通過設置實驗對數據進行特征選擇、特征降維、特征編碼等,使處理后的數據特征滿足數據挖掘算法工具的要求。三是實現數據挖掘的經典算法,并實現結果的可視化呈現。使用Python程序設計語言,將經典算法編寫成代碼,分析相關數據;設置實驗,使用樸素貝葉斯算法對舊金山犯罪分類進行預測,使用Apriori算法挖掘用戶購買產品的關聯性、分析用戶的購買習慣,使用支持向量機(support vector machine,SVM)算法進行人臉識別,使用FP增長(FP Growth)算法從新聞網站中挖掘熱點新聞,使用K近鄰(K Nearest Neighbor,KNN)算法、Cart決策樹分類算法分別對筆跡識別與偷稅漏稅行為進行預測等。
(四)課程案例
以史為鑒,可以知興替。在大數據時代,培養學生以數據為鑒的觀念,可以改善人們的生活,有助于社會經濟的發展。在課程思政背景下,“數據挖掘”課程旨在通過社會案例幫助學生樹立正確的世界觀、價值觀和人生觀,提升學生的工作能力,為社會的發展貢獻自己的力量。例如,通過吸煙有害健康的案例,提醒學生要有一個良好的生活習慣,并且提高他們對數據更深層次的認識。吸煙有害健康是人類的共識,但吸煙行為在社會上卻又是一個很普遍的行為,且一直以來并沒有相關的研究確切地表明吸煙會使人得絕癥,吸煙和患絕癥之間并不形成因果關系。曾經美國的煙草公司一度被告上法庭,訴訟它生產的煙草有害,然而由于煙草和健康沒有因果關系,案件最后不了了之。直到20世紀90年代,通過對患絕癥病人的數據進行分析挖掘,得出吸煙和患絕癥之間是有關聯性的結論,才使美國煙草公司敗訴,做出了相應的賠償。通過具體的社會案例可以培養學生對數據的敏感度,培養學生用數據說話的觀念,同時也歸正他們的生活習慣。
課程實驗是為了讓學生理論結合實踐,深刻地掌握理論算法。課程案例本質上是綜合實驗,以具體的社會問題為案例,從互聯網或業務數據庫中采集數據,對數據進行探索,分析數據的特征,對數據進行預處理,最后建模與評估。
為提升學生的思想覺悟,樹立正確的“三觀”,做一個誠信的人,擬設置“信用評分”和“保險欺詐行為挖掘”案例[9]?!靶庞迷u分”案例以銀行小額貸款樣本數據為本源,將貸款的風險問題轉化為數據分析問題,根據客戶的信用行為預測未來拖欠貸款的可能性。“保險欺詐行為挖掘”案例以醫療保險數據為本源,對客戶的交易數據做分析,通過統計分析、聚類分析、關聯分析等方法將有欺詐特征的樣本數據挖掘出來,通過案例讓學生重視個人的信用,做一個誠實守信的人。為培養學生解決實際問題的能力,更好地為社會發展服務,擬設置“大數據用戶畫像”案例[10],以廣電用戶數據為本源,建立聚類分析、關聯分析、神經網絡等模型,通過用戶畫像把握客戶特征和行為習慣模式,為用戶提供更好的服務。
二、展望
“數據挖掘”是大數據專業的一門重要專業課,課程目標在于幫助學生在大數據時代了解大數據、用好大數據,并能夠善于獲取有用的數據、分析數據、運用數據,讓學生有一雙善于發現數據之美的眼睛,為以后參加工作提供助力。在教學設計中,合理地分配理論課時和實踐課時,通過實踐課程幫助學生更加深刻地理解理論算法。按照課程思政改革的指導思想,增加課程案例,通過具體的案例不僅可以培養學生解決具體問題的能力,也能幫助學生樹立正確的價值觀,為今后社會和經濟的發展做貢獻。
參考文獻
[1]林子雨.大數據導論——數據思維、數據能力和數據倫理[M].北京:高等教育出版社,2020.
[2]羅森林,馬俊,潘麗敏.數據挖掘理論與技術[M].北京:電子工業出版社,2013.
[3]李航.統計學習方法[M].北京:清華大學出版社,2012.
[4]賈俊平,何曉群,金勇進.統計學[M].7版.北京:中國人民大學出版社,2018.
[5]李長河.人工智能以及應用[M].北京:機械工業出版社,2006.
[6]周志華.機器學習[M].北京:清華大學出版社,2016.
[7]AGRAWAL Rakesh, IMIELINSKI Tomasz, SWAMI Arun. Mining Association Rules between Sets of Items in Large Databases[J]. ACM SIGMOD Record, 22 (2): 207-216.
[8]張維明.數據倉庫原理與應用[M].北京:電子工業出版社,2002.
[9]張大斌.數據挖掘與商務智能實驗教程[M].武漢:華中師范大學出版社,2015.
[10]張文彤,鐘云飛.IBM SPSS數據分析與挖掘實戰案例精粹[M].北京:清華大學出版社,2013.
Discussion on the Teaching of Data Mining
CAO Yuan-nan, XU Wei-xia
(School of Information Management, Shanghai Lixin University of Accounting and Finance, Shanghai 201209, China)
Abstract: The course of Data Mining is an important professional course for big data related majors. The teaching mode of this course is the combination of classical theory and practice. In theory teaching, it mainly explains the classical algorithms of Data Mining. In practical teaching, Python programming is used to realize the classical algorithm of the theoretical part, so that students can further master the algorithm through algorithm programming. According to the requirements of curriculum ideological and political education, some cases with the theme of social practical problems are set up in the curriculum design to guide students to establish correct values while improving students’ interest in learning. For complex and abstract Data Mining theories and algorithms, setting up online courses is helpful for students to review important and difficult knowledge points and help students master theoretical knowledge.
Key worlds: Data Mining; curriculum ideological and political education; teaching design
2992501186279