爲何業務知識會嚴重影響建模效果?

咱們知道一個完整的數據挖掘項目一般包含如下流程(1)業務理解、(2)數據理解、(3)數據準備、(4)數據預處理和建模、(5)模型評估、(6)模型部署應用。而要完成一個數據挖掘任務,必需要具有兩方面的技能,技術能力和業務知識。技術能力主要包括數據統計分析能力,算法能力,計算機能力等,業務知識體現的則是對業務的熟悉程度。這兩大能力都很重要缺一不可,可是業務知識的重要性倒是常常容易被忽視的。今天咱們就來具體聊一下,這兩大能力是如何貫穿於整個流程並影響建模效果。程序員

q

拿到一個數據挖掘項目,首先要進行的就是業務理解和數據理解,瞭解商務背景,明確挖掘目標和建模數據。建模的目的是爲了解決業務問題,業務目標是全部數據解決方案的源頭,它定義了數據挖掘的主題。只有正確理解了業務纔可以明確挖掘的正確方向。例如,在信貸風險預測中,須要預測出高風險的客戶羣體,那麼如何定義歷史數據中的高風險客戶就很重要,一般咱們會認爲有違約行爲的客戶是高風險客戶,可是進一步分析以後就會發現有一些客戶雖然有違約行爲,但只是偶爾一兩次的逾期幾天而已,經過業務常識能夠判斷這些客戶可能只是忘記還款而違約的,並非高風險客戶。再例如作產品的精準營銷模型時,有沒有必要經過細分客戶羣體來建模,又或是區分地域差異來建模。這些都須要充分了解業務才能作出準確的判斷。還有,建模數據範圍的,也須要有業務知識的支撐才能進行,不然就是大海撈針,效率低下。所以,在這個環節,業務知識能力占主導地位,技術能力會查看數據就足夠了。在建模過程當中,業務思路上的優化比建模技術思路上的優化更重要,而建模技術思路上的優化又比單純的建模技巧的優化更重要。算法

建模目標和數據範圍肯定好之後,就進入到第二個階段準備數據。數據準備的目的是創建數據集市或者寬表,主要工做包括選擇數據、清洗數據、構造數據、整合數據、格式化數據等。這個環節一樣須要用到業務知識,例如建模的數據一般會來自於多個表格或數據源,那麼就須要瞭解各個表格之間的業務邏輯,才能將數據整合到一塊兒,例如 A 表是訂單數據,B 表是產品屬性數據,C 表是客戶信息數據,要整合 3 張表首先要縷清楚他們之間的邏輯關係,若是徹底不懂業務是很難縷清楚或者很容易出錯的。在數據準備過程當中,一般還須要作不少數據彙總,特徵提取的工做,例如在原始的訂單數據中可能會出現同一用戶多個帳號,同一帳號多個訂單,同一訂單又包含多個產品的狀況,這是也須要對業務有必定了解才能清楚其中的關係。在技術能力方面,須要會一些 ETL 的操做,這件事從 0 開始作並不容易,但大多數狀況下都有 IT 部門建設好的數據倉庫,因此常常也不須要作。ide

在數據預處理和建模環節,對技術能力的要求就比較高了,須要涉及到統計學分析,算法能力和調參能力等內容。也正是這部分工做難度比較大,專業人才少,實現困難,才形成不少人誤覺得數據挖掘是一項純技術的工做,而忽略了業務知識的重要性。不過使人欣慰的是,這部分技術性的工做能夠藉助 AI 來實現,例如,當前興起的自動建模技術就能夠自主的完成數據預處理和建模工做。自動建模技術是將統計學家和數學家的數據處理經驗和理論融入到軟件中,使得軟件可以智能的去完成數據預處理,建模型,選參數,作評估等一系列的工做。對於使用者來說只須要將數據丟進自動建模工具,而且配置好目標,工具就可以自動建出優質模型。即便是沒有統計學背景,不瞭解算法的初學者,或者普通的 IT 程序員均可以經過自動建模技術來建出高質量模型。工具

模型建好後,可否合理評估模型也很重要,不少時候並非建不出好的模型,而是不知道什麼纔是好的模型。在這個環節,技術能力須要瞭解各類模型指標的含義,例如,AUC, ROC, Gini,Lift,Mse……, 業務知識能力則須要知道如何根據業務目標來選擇合適的評價指標。例如某企業但願銷售 50 件產品,創建了兩個模型來選擇待推銷客戶,混淆矩陣以下,應該選擇哪一個模型更合適呢?優化

q

只考慮準確率,彷佛應當選擇 A 模型,但這時候咱們須要對 75(=50/0.667,預測購買者中有 66.7% 的實際會購買,即精確率)個客戶推銷纔可能賣出 50 件商品;而選擇模型 B,則只要對 60(=50/0.833)個客戶推銷就可能賣出 50 件商品了,推銷成本反而下降了。在這裏業務目標是銷售 50 個產品,所以要基於該目標去選擇合適的評價指標,而不是隨便指定。blog

綜上,技術能力和業務知識能力是實現數據挖掘任務的必要條件,二者都具有才能建出好的模型。其中對技術能力要求較高的預處理和建模過程,能夠藉助自動建模技術來實現,可是業務知識的運用則是 AI 難以替代的。部署

對進一步數據挖掘和 AI 技術感興趣的同窗還能夠搜索「乾學院」,上面有面向小白的零基礎「數據挖掘」免費課程。數學

相關文章
相關標籤/搜索