- Python數(shù)據(jù)挖掘:入門、進階與實用案例分析
- 盧滔 張良均等
- 2221字
- 2023-11-13 15:04:52
1.2 數(shù)據(jù)挖掘的通用流程
目前,數(shù)據(jù)挖掘的通用流程主要包含目標(biāo)分析、數(shù)據(jù)抽取、數(shù)據(jù)探索、數(shù)據(jù)預(yù)處理、分析與建模、模型評價。需要注意的是,這6個流程的順序并非嚴格不變,可根據(jù)實際項目情況進行不同程度的調(diào)整。
1.2.1 目標(biāo)分析
針對具體的數(shù)據(jù)挖掘應(yīng)用需求,首先要明確本次的挖掘目標(biāo)是什么,系統(tǒng)完成后能達到什么樣的效果。也就是說,要想充分發(fā)揮數(shù)據(jù)挖掘的價值,必須要對目標(biāo)有一個清晰明確的定義,即決定到底想干什么。因此必須分析應(yīng)用領(lǐng)域,包括應(yīng)用中的各種知識和應(yīng)用目標(biāo),了解相關(guān)領(lǐng)域的有關(guān)情況,熟悉背景知識,弄清用戶需求等。
1.2.2 數(shù)據(jù)抽取
在明確了需要進行數(shù)據(jù)挖掘的目標(biāo)后,接下來就需要從業(yè)務(wù)系統(tǒng)中抽取一個與挖掘目標(biāo)相關(guān)的樣本數(shù)據(jù)子集。抽取數(shù)據(jù)的標(biāo)準,一是相關(guān)性,二是可靠性,三是有效性,而不是動用全部企業(yè)數(shù)據(jù)。對數(shù)據(jù)樣本進行精選,不僅能減少數(shù)據(jù)處理量,節(jié)省系統(tǒng)資源,而且能使與業(yè)務(wù)需求相關(guān)的數(shù)據(jù)規(guī)律性更加凸顯出來。
在數(shù)據(jù)取樣時,一定要嚴格把控質(zhì)量。任何時候都不能忽視數(shù)據(jù)的質(zhì)量,即使是從一個數(shù)據(jù)倉庫中進行數(shù)據(jù)取樣,也不要忘記檢查其質(zhì)量。因為數(shù)據(jù)挖掘是要探索企業(yè)運作的內(nèi)在規(guī)律性,所以當(dāng)原始數(shù)據(jù)有誤時,我們就很難從中探索數(shù)據(jù)的規(guī)律性了。若從質(zhì)量較差的數(shù)據(jù)中探索出數(shù)據(jù)的“規(guī)律性”,再依此去指導(dǎo)工作,很可能造成誤導(dǎo)。若從正在運行的系統(tǒng)中進行數(shù)據(jù)取樣,更要注重數(shù)據(jù)的完整性和有效性。
衡量取樣數(shù)據(jù)質(zhì)量的標(biāo)準包括:資料完整無缺,各類指標(biāo)項齊全;數(shù)據(jù)準確無誤,反映的都是正常(而不是異常)狀態(tài)下的水平。
獲取相關(guān)數(shù)據(jù)后,可再從中做抽樣操作。常見的抽樣方式如下。
1)隨機抽樣。當(dāng)采用隨機抽樣方式時,數(shù)據(jù)集中的每一組觀測值都有相同的被抽樣的概率。例如,若按10%的比例對一個數(shù)據(jù)集進行隨機抽樣,則每一組觀測值都有10%的機會被取到。
2)等距抽樣。在進行等距抽樣操作時,首先將數(shù)據(jù)集按一定順序排列,根據(jù)數(shù)據(jù)容量要求確定抽選間隔,然后根據(jù)間隔進行數(shù)據(jù)抽取。例如,有一個100組觀測值的數(shù)據(jù)集,從1開始編號,若按5%的比例進行等距抽樣,則抽樣數(shù)據(jù)之間的間隔為20,取20、40、60、80和100這5組觀測值。
3)分層抽樣。在進行分層抽樣操作時,首先將樣本總體分成若干層次(或分成若干個子集)。每個層次中的觀測值都具有相同的被選用的概率,但對不同的層次可設(shè)定不同的概率。這樣的抽樣結(jié)果通常具有更好的代表性,進而使模型具有更好的擬合精度。
4)按起始順序抽樣。這種抽樣方式是從輸入數(shù)據(jù)集的起始處開始抽樣。抽樣的數(shù)量可以按給定的百分比抽取,也可以直接給定選取觀測值的組數(shù)。
5)分類抽樣。前述幾種抽樣方式并不考慮抽取樣本的具體取值。分類抽樣則依據(jù)某種屬性的取值來選擇數(shù)據(jù)子集,如按客戶名稱分類、按地址區(qū)域分類等。分類抽樣的選取方式可以為隨機抽樣、等距抽樣、分層抽樣等,只是抽樣以類為單位。
1.2.3 數(shù)據(jù)探索
1.2.2節(jié)敘述的數(shù)據(jù)抽樣,多少是帶著人們對如何實現(xiàn)數(shù)據(jù)挖掘目的的先驗認識進行操作的。在拿到一個樣本數(shù)據(jù)集后,它是否滿足原來設(shè)想的要求,其中有沒有明顯的規(guī)律和趨勢,有沒有出現(xiàn)從未設(shè)想過的數(shù)據(jù)狀態(tài),屬性之間有什么相關(guān)性,可分為哪些類別等,這都是需要首先進行探索的內(nèi)容。
對所抽取的樣本數(shù)據(jù)進行探索、審核和必要的加工處理,是保證最終的挖掘模型的質(zhì)量所必需的。可以說,挖掘模型的質(zhì)量不會優(yōu)于抽取樣本的質(zhì)量。數(shù)據(jù)探索的目的是了解樣本數(shù)據(jù)的質(zhì)量,從而為保證模型質(zhì)量打下基礎(chǔ)。
數(shù)據(jù)探索的方法主要包括數(shù)據(jù)校驗、分布分析、對比分析、統(tǒng)計量分析、周期性分析、貢獻度分析、相關(guān)分析等。
1.2.4 數(shù)據(jù)預(yù)處理
當(dāng)采樣數(shù)據(jù)的表達形式不一致時,如何進行數(shù)據(jù)變換、數(shù)據(jù)合并等都是數(shù)據(jù)預(yù)處理要解決的問題。
由于采樣數(shù)據(jù)中常常包含許多噪聲,甚至不一致、不完整的數(shù)據(jù),所以需要對數(shù)據(jù)進行預(yù)處理,以改善數(shù)據(jù)質(zhì)量,并最終達到完善數(shù)據(jù)挖掘結(jié)果的目的。
對于格式化的數(shù)據(jù),數(shù)據(jù)預(yù)處理的方法主要包括重復(fù)值處理、缺失值處理、異常值處理、函數(shù)變換、數(shù)據(jù)標(biāo)準化、數(shù)據(jù)離散化、獨熱編碼、數(shù)據(jù)合并等。
對于非格式化的數(shù)據(jù),如圖片、文本等,在數(shù)據(jù)預(yù)處理前需要多經(jīng)過一步轉(zhuǎn)換操作,如將圖片轉(zhuǎn)化為矩陣、將文本向量化等。
1.2.5 分析與建模
抽取完樣本并經(jīng)過預(yù)處理后,需要考慮本次建模屬于數(shù)據(jù)挖掘應(yīng)用中的哪類問題(分類與回歸、聚類、關(guān)聯(lián)規(guī)則、智能推薦或時間序列),還需要考慮選用哪種算法進行模型構(gòu)建更為合適。
其中,分類與回歸算法主要包括線性模型、決策樹、KNN、SVM、神經(jīng)網(wǎng)絡(luò)、集成算法等,聚類算法主要包括K-Means聚類、密度聚類、層次聚類等,關(guān)聯(lián)規(guī)則算法主要包括Apriori、FP-Growth等,智能推薦主要包括協(xié)同過濾推薦算法等,時間序列算法主要包括AR、MA、ARMA、ARIMA等。
對于深度學(xué)習(xí)算法,按網(wǎng)絡(luò)類型可分為卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)等算法。深度學(xué)習(xí)算法的建模過程與普通的數(shù)據(jù)挖掘算法不同,包括構(gòu)建網(wǎng)絡(luò)、編譯網(wǎng)絡(luò)和訓(xùn)練網(wǎng)絡(luò)。首先需要構(gòu)建網(wǎng)絡(luò)的結(jié)構(gòu),即搭建一個完整的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),包括輸入層、隱藏層和輸出層。然后需要編譯網(wǎng)絡(luò),包括設(shè)置優(yōu)化器、損失函數(shù)等。最后對網(wǎng)絡(luò)進行訓(xùn)練,訓(xùn)練網(wǎng)絡(luò)時還須設(shè)置批大小、迭代次數(shù)等。
1.2.6 模型評價
在1.2.5節(jié)的建模過程中我們會得到一系列分析結(jié)果,模型評價的目的之一就是依據(jù)這些分析結(jié)果從訓(xùn)練好的模型中尋找一個表現(xiàn)最佳的模型,同時結(jié)合業(yè)務(wù)場景對模型進行解釋和應(yīng)用。
適用于分類與回歸模型、聚類分析模型、智能推薦模型的評價方法是不同的。對于深度學(xué)習(xí)的模型,還可以使用回調(diào)函數(shù)檢查監(jiān)控訓(xùn)練過程中的指標(biāo)變化,查看模型的內(nèi)部狀態(tài)、統(tǒng)計信息和生成的日志等。
- 數(shù)據(jù)存儲架構(gòu)與技術(shù)
- 數(shù)據(jù)庫原理及應(yīng)用教程(第4版)(微課版)
- 分布式數(shù)據(jù)庫系統(tǒng):大數(shù)據(jù)時代新型數(shù)據(jù)庫技術(shù)(第3版)
- R數(shù)據(jù)科學(xué)實戰(zhàn):工具詳解與案例分析(鮮讀版)
- Mockito Cookbook
- 數(shù)據(jù)架構(gòu)與商業(yè)智能
- 中國數(shù)字流域
- AI時代的數(shù)據(jù)價值創(chuàng)造:從數(shù)據(jù)底座到大模型應(yīng)用落地
- 數(shù)字IC設(shè)計入門(微課視頻版)
- Oracle數(shù)據(jù)庫管理、開發(fā)與實踐
- 大數(shù)據(jù)數(shù)學(xué)基礎(chǔ)(Python語言描述)
- 活用數(shù)據(jù):驅(qū)動業(yè)務(wù)的數(shù)據(jù)分析實戰(zhàn)
- Scratch 2.0 Game Development HOTSHOT
- 智能與數(shù)據(jù)重構(gòu)世界
- Practical Convolutional Neural Networks