數據挖掘方法論—企業數據挖掘成功之道(方法篇)

在過去幾年,隨着信息化技術的高速發展,數據逐漸變爲企業最有價值的戰略資產,人們迫切希望能夠從數據中發掘價值和探索規律,以便爲企業在研發、生產、營銷、管理、運維等各個環節遇到的問題提供新的解決思路,用數字化戰略爲企業賦能。

爲什麼需要一個數據挖掘方法論?
要實現對數據價值的深度發掘,數據挖掘技術無疑是最有效的手段之一。對於企業來說,要開展數據挖掘項目,就必須要了解數據挖掘項目是區別於傳統的軟件開發類項目,其呈現出複雜性高、週期長、不確定高等特點,特別是不確定性高,是其最典型的特點,主要體現在數據的不確定性、結果的不確定性和方案的不確性等方面,這樣就導致整個數據挖掘項目管控難度高,因此一個行之有效的數據挖掘方法論(明確的流程模型)是非常有必要的。
數據挖掘方法論

行業數據挖掘方法論都有哪些?
長期以來,隨着數據挖掘市場的發展和成熟,由不同的組織機構提出過很多的方法論,如CRISP-DM、SEMMA、5A等,其中CRISP-DM、SEMMA是應用最爲廣泛。CRISP-DM (cross-industry standard process for data mining),即爲“跨行業數據挖掘過程標準"。此KDD過程模型於1999年歐盟機構聯合起草. 通過近幾年的發展,CRISP-DM 模型在各種KDD過程模型中佔據領先位置,採用量達到近60%。排在其後的是由SAS公司提出的SEMMA。SEMMA更偏重於數據挖掘的建模過程,與SAS的EM工具進行整合,其模型管理部署部分則體現在另外的工具套件中。CRISP-DM是從一個數據挖掘項目執行的角度談方法論,CRISP- DM的考慮的範圍比SEMMA 要大。CRISP-DM強調,數據挖掘不單是數據的組織或者呈現,也不僅是數據分析和統計建模,而是一個從理解業務需求、尋求解決方案到接受實踐檢驗的完整過程。因此,從一個項目的管理實施完整流程來說,CRISP-DM更適用一些,本文後續主要以CRISP-DM爲主進行詳細介紹。

行業數據挖掘

CRISP- DM方法論
CRISP-DM方法論將一個數據挖掘項目的生命週期分爲六個階段,其中包括業務理解(business understanding),數據理解 (data understanding),數據準備(data preparation),建立模型(modeling),評估模型(evaluation)和結果部署(deployment)。這六個階段的順序是不固定的,我們經常需要前後調整這些階段。這依賴每個階段或是階段中特定任務的產出物是否是下一個階段必須的輸入。圖中箭頭指出了最重要的和依賴度高的階段關係。
CRISP- DM方法論
階段一:業務理解(business understanding)
業務理解,指從業務角度來理解項目目標和要求,接着把這些理解知識轉換成數據挖掘問題的定義和實現目標的最初規劃。
數據挖掘-業務理解

在這個階段,主要通過業務需求調研,明確要解決的業務問題,如果業務問題一開始不明確,就需要從整個企業的內部不同業務板塊(如營銷、生產、管理等)或從企業與上下游產業鏈之間的關係來切入與業務專家進行研討,形成分析主題庫,同時需要對每個業務問題的產生背景、業務流程、業務價值、傳統解決方法及效果、相關數據資源、涉及哪些部門及領導等內容,調研一定要充分,基於這些調研內容可以對於主題庫中的分析主題從可行性、價值性、難易度等多方面進行衡量,爲分析主題開展的優先級提供指導。業務目標確定後,一方面需要從業務角度確定成功的標準,這個有利於最後判定結果的有效性和價值性,另一方面也需要確定數據挖掘目標、初步方案和成功標準,在成功標準度量指標這裏需要結合當前傳統方式的效果和歷史建模經驗綜合來確定,同時也必須要保障該標準具備可驗證性,這也是最後保障項目驗收成功的重要依據,很多項目最終失敗,都是忽略了這個環節,一定要慎重。

階段二:數據理解 (data understanding)
數據理解,指從數據收集開始,然後接着是一系列活動,這些活動的目的是:熟悉數據,甄別數據質量問題、發現對數據的真知灼見、或者探索出令人感興趣的數據子集並形成對隱藏信息的假設。
數據挖掘-數據理解

在這個階段,主要的工作就是基於業務理解階段梳理的數據需求,收集原始數據,同時對於數據的數據量(維度和樣本大小)、數據的質量(缺失值、異常值、不一致性等),數據的分佈規律(各種統計指標)等進行初步探索,初步判斷該數據是否具備初步分析的可行性,形成一份數據質量分析報告。同時對於預測性問題,如分類、迴歸等問題,需要明確目標變量,很多目標變量可以不是通過單一變量直接獲取,需要通過多個變量結合業務進行確定,如確定一個用戶是否是欠費用戶,則需要從欠費次數和欠費金額兩個維度確定欠費用戶的判定規則,規則定義的嚴苛程度,需要與建模的正負樣本分佈、業務的認可度、數據的分佈等多個方面綜合制定。

階段三:數據準備(data preparation)
數據準備,指從最初原始數據構建最終建模數據的全部活動。數據準備很可能被執行多次並且不以任何既定的秩序進行。包括爲建模工作準備數據的選擇、轉換、清洗、構造、整合及格式化等多種數據預處理工作。
數據挖掘-數據準備

在這個階段,最終目標是要基於業務理解階段的建模方案構建建模所需的寬表,即將多個表信息進行整合,包括表之間的聯接,明細數據的彙總加工等,同時在過程中需要對於數據的質量問題(包括缺失值、異常值等)進行處理;對數據的字段進行變換,如規範化和標準化,或都將數據進行映射變換,如Log變化,數值型按區間轉換成名詞型字段等多種加工策略;在特徵工程這裏,一方面需要從業務角度加工新的計算指標,另一方面需要進行自動特徵構建、特徵選擇、特徵降維等方面的工作,來提升模型的性能。數據準備階段的工作,經常會隨着模型性能的評估結果進行反覆調整和優化,以便爲建模提供更高質量的數據。

階段四:建立模型(modeling)
建立模型,指選擇和使用各種建模技術,並對其參數進行調優。一般地,相同數據挖掘問題類型會有幾種技術手段。某些技術對於數據形式有特殊規定,這通常需要重新返回到數據準備階段。
數據挖掘建模

在這個階段,主要基於業務理解階段確定的建模方案,選擇相應的建模算法,開始建模和評估模型。這個階段在建模算法的選擇方面,需要注意兩個問題,一是算法和參數的選擇上,可以按照經常選擇常用的方法和參數來調試,也可以使用自動學習類的方法,如自動擇參/分類/迴歸/聚類/時序等方面,來自動選擇算法和參數,降低在這個階段的嘗試成本,提升效率。二是需要結合建模的精度,對於建模方案進行優化,最爲典型的就是開始定位爲某一類數據挖掘問題,可以轉換成另一類數據挖掘問題的方式來解決,如迴歸問題,可以轉換成分類問題來解決,當然前提是對於數值預測的單值準確性要求不高。時序問題,可以轉換成迴歸問題來解決等方面,這個更依賴於個人的建模經驗。

階段五:評估模型(evaluation)
評估模型,指在此階段,需要從技術層面判斷模型效果以及從業務層面判斷模型在實際商業環境當中的實用性。
數據挖掘模型評估

在這個階段,已經從建立模型階段獲取了從理論上性能表現更好的模型,需要結合業務階段確定的數據挖掘模型的成功標準,迴歸到實際業務中進行模型性能的實測,可以採用A/B測試的方案進行評測。這個階段的工作,是需要有相關的業務部讓或營銷部來來配合的,所以需要提前在項目計劃中確定需要協調的資源和評測的方案,評測的對比方案一定要得到客戶方認可才行,以便降低反覆評測的風險。

階段六:結果部署(deployment)
結果部署,指將其發現的結果以及過程組織成爲可讀文本形式或將模型進行工程化封裝滿足業務系統使用需求。
數據挖掘結果部署

在這個階段,已經得到的理論和實際驗證後的模型,需要將模型的成果書面化,從六個階段進行總結,形成數據分析報告,在這個過程中,也是對整個分析流程的再度審查,保障模型成果的真實性和準確性。如果涉及到工程化應用,還需要將模型發佈成不同方式(調度、同步/異步服務API、實時服務等),供其它業務系統進行整合,形成最終的決策應用系統,指導實際業務的開展。最後,對於模型上線後的性能需要定期進行監測,以便後期對於模型性能進行持續性的優化工作。

以上,是我結合個人實際項目經驗對於數據挖掘項目實施方法論的理解與總結,希望能給企業決策者、數據分析師和項目管理人員有一定的啓發和收穫,最後,我想強調的一點是,數據挖掘項目的特點決定了它是有失敗的風險的,方法論可以降低的項目失敗的風險,但我們必須要正確看待失敗,因爲項目的探索過程中沉澱的知識和成果是對於企業來說是也非常寶貴的,因此從企業的管理層來說,必須要有足夠的耐心和信心對於這類項目以足夠支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章