聞思源 王 睿 劉慶旺
數(shù)據(jù)挖掘是指從大量數(shù)據(jù)中揭示出隱含的、先前未知的并有潛在價(jià)值的信息的非平凡過程。在當(dāng)前伴隨信息革命而產(chǎn)生數(shù)據(jù)爆炸的情況下,數(shù)據(jù)挖掘已成為一種非常重要的決策支持方法[1]。數(shù)據(jù)挖掘主要基于數(shù)據(jù)庫(kù)、統(tǒng)計(jì)學(xué)、可視化技術(shù)、智能自學(xué)習(xí)等數(shù)學(xué)方法,高度自動(dòng)化地分析數(shù)據(jù),做出歸納性的推理和挖掘潛在模式,從而幫助決策者做出正確的判斷,數(shù)據(jù)挖掘過程由以下三個(gè)階段組成:數(shù)據(jù)準(zhǔn)備;數(shù)據(jù)挖掘;結(jié)果表達(dá)和解釋。
在《數(shù)據(jù)挖掘技術(shù)》課程的教學(xué)過程中,缺乏具有時(shí)效性強(qiáng)的足量數(shù)據(jù)、學(xué)生對(duì)于數(shù)據(jù)挖掘理論與實(shí)踐相結(jié)合方法論難以建立起系統(tǒng)化概念,對(duì)數(shù)據(jù)挖掘結(jié)果難以有效地進(jìn)行深入析因,這是教學(xué)過程中面臨的主要難點(diǎn)。
2019年底以來,世界各地普遍爆發(fā)了新型冠狀肺炎疫情,波及范圍之廣,損失之大,社會(huì)影響之嚴(yán)重,近幾百年來前所未有。由于信息技術(shù)的廣泛應(yīng)用,使得此次疫情數(shù)據(jù)非常充分地得到了記錄,并且通過互聯(lián)網(wǎng)進(jìn)行公開發(fā)布,為本課程的教學(xué)以及管理科學(xué)實(shí)踐提供了難得的數(shù)據(jù)基礎(chǔ)、技術(shù)實(shí)現(xiàn)平臺(tái)和挖掘分析空間。
針對(duì)本次疫情,各個(gè)國(guó)家和醫(yī)療相關(guān)機(jī)構(gòu)都有實(shí)時(shí)數(shù)據(jù)發(fā)布,如(1)News Break從國(guó)際衛(wèi)生組織(WHO)、美國(guó)國(guó)家健康中心、中國(guó)疾病預(yù)防控制中心等權(quán)威發(fā)布機(jī)構(gòu)獲得并發(fā)布的疫情數(shù)據(jù);(2)美國(guó)約翰.霍普金斯大學(xué)的全球疫情數(shù)據(jù)大屏;(3)中國(guó)百度公司根據(jù)國(guó)家衛(wèi)生與健康委員會(huì)數(shù)據(jù)接口發(fā)布的疫情地圖。通過數(shù)據(jù)探查,從數(shù)據(jù)權(quán)威性、獲取可行性和數(shù)據(jù)完備性角度綜合考慮,決定本案例數(shù)據(jù)源中涉及的國(guó)外疫情數(shù)據(jù)采用News Break發(fā)布數(shù)據(jù),國(guó)內(nèi)疫情數(shù)據(jù)采用百度疫情地圖數(shù)據(jù)。
本案例以從2020年初以來開始公開發(fā)布的國(guó)內(nèi)外新冠疫情實(shí)時(shí)更新數(shù)據(jù)作為數(shù)據(jù)基礎(chǔ),以Python3.7及Request、Numpy、Pandas、Matplotlib、Pyecharts、Scikit-learn 等數(shù)據(jù)處理與分析相關(guān)常用包庫(kù)作為技術(shù)實(shí)現(xiàn)工具,實(shí)現(xiàn)數(shù)據(jù)挖掘的基本過程[2-3]。本案例的構(gòu)成要素主要包括以下內(nèi)容:
(1)網(wǎng)絡(luò)數(shù)據(jù)的爬取。以Request包和作為數(shù)據(jù)爬取基本工具包,調(diào)用其方法獲得網(wǎng)頁源文件,由于數(shù)據(jù)是實(shí)時(shí)發(fā)布,本案例采用在線爬?。刻於〞r(shí)采集)和離線爬取(從離線網(wǎng)頁源文件中分離)兩種方式進(jìn)行源數(shù)據(jù)獲取。
(2)源數(shù)據(jù)的解析與清洗。首先通過Pandas包、BeautifulSoup包結(jié)合Python的字典、列表和集合數(shù)據(jù)操作,從網(wǎng)頁源文件中分離出Json格式的疫情數(shù)據(jù)作為原始數(shù)據(jù)源,然后從其中分離出國(guó)內(nèi)和國(guó)外疫情數(shù)據(jù)項(xiàng),具體內(nèi)容包括:累積確診數(shù)量、每日新增確診數(shù)量、疑似數(shù)量、重癥數(shù)量、死亡數(shù)量、累積治愈數(shù)量、無癥狀感染數(shù)量、境外輸入確診數(shù)量等,國(guó)內(nèi)數(shù)據(jù)精確到地級(jí)市,國(guó)外數(shù)據(jù)中,美國(guó)精確到州和主要城市,其他國(guó)家精確到國(guó)家;再通過Pandas包中方法對(duì)數(shù)據(jù)進(jìn)行規(guī)范化清洗處理,具體包括:無效值排除、缺失/空值填充、異常值/重復(fù)值處理、更改格式、排序分組等,從而得到適合挖掘分析的規(guī)范全結(jié)構(gòu)化數(shù)據(jù)。
(3)數(shù)據(jù)基礎(chǔ)統(tǒng)計(jì)。利用Pandas包提供的統(tǒng)計(jì)學(xué)方法,完成均值、標(biāo)準(zhǔn)差、中位數(shù)、分位數(shù)、峰度、偏度、極值等統(tǒng)計(jì)運(yùn)算,從而對(duì)各國(guó)家和地區(qū)疫情數(shù)據(jù)基于時(shí)間窗口做基礎(chǔ)性統(tǒng)計(jì);
(4)數(shù)據(jù)靜態(tài)可視化。利用Matplotlib包提供的數(shù)據(jù)顯示圖形化方法,利用前述各數(shù)據(jù)項(xiàng)生成絕對(duì)指標(biāo)(如各地區(qū)感染總數(shù))和相對(duì)指標(biāo)(如感染總?cè)藬?shù)的各地區(qū)構(gòu)成比例、A地區(qū)與B地區(qū)確診數(shù)量比值等)隨時(shí)間的數(shù)值變化曲線,通過隨時(shí)間的縱向曲線、以地區(qū)為單位的橫向?qū)Ρ鹊葓D形充分從不同角度展現(xiàn)數(shù)據(jù)基本面。
(5)數(shù)據(jù)動(dòng)態(tài)可視化。利用Pyecharts包中提供的地圖數(shù)據(jù)和相關(guān)圖形化方法,針對(duì)前述的各絕對(duì)指標(biāo)和相對(duì)指標(biāo),生成時(shí)間線輪播多圖、地區(qū)分布圖、地區(qū)熱圖等,從而動(dòng)態(tài)展示疫情嚴(yán)重程度的變化、不同地區(qū)的疫情規(guī)模和發(fā)展趨勢(shì)[4]。
(6)實(shí)施數(shù)據(jù)挖掘算法應(yīng)用。利用Scikit-learn包中提供的數(shù)據(jù)挖掘方法,通過回歸分析考察疫情規(guī)模的相關(guān)因素,通過預(yù)測(cè)分析考察各項(xiàng)指標(biāo)隨時(shí)間的發(fā)展變化趨勢(shì),通過聚類分析考察各地區(qū)疫情狀況的相似性和不同分級(jí)[5]。
(7)數(shù)據(jù)分析。通過前述各指標(biāo)的數(shù)據(jù)統(tǒng)計(jì)結(jié)果和數(shù)據(jù)挖掘結(jié)果,站在比較性分析的角度,分別從效率質(zhì)量?jī)蓚€(gè)方面分析中國(guó)和美國(guó)、中國(guó)和歐洲、中國(guó)和世界其他國(guó)家和地區(qū)在疫情防控方面的差別,并深入挖掘不同效果的社會(huì)根源,從而在基于客觀數(shù)據(jù)和科學(xué)挖掘分析的基礎(chǔ)上建立充分的制度自信、文化自信、發(fā)展自信。
本案例改變傳統(tǒng)案例側(cè)重于算法解釋,與現(xiàn)實(shí)社會(huì)和經(jīng)濟(jì)問題脫節(jié)嚴(yán)重的情況,通過對(duì)疫情數(shù)據(jù)統(tǒng)計(jì)與挖掘結(jié)果的析因分析,在培養(yǎng)學(xué)生數(shù)學(xué)算法和技術(shù)能力的同時(shí),更加注重?cái)?shù)據(jù)聯(lián)系現(xiàn)實(shí),增強(qiáng)學(xué)生用數(shù)據(jù)挖掘輔助解決管理學(xué)問題的能力。