極簡入門數據挖掘

數據挖掘 機器學習 市場營銷 科技 蝸牛玩數據 2017-03-27

如何快速入門數據挖掘?本文將以工程界公認的實施步驟為基礎,並結合小編的多年工作經驗,來給你打開數據挖掘的冰山一角。

其實工程界經過多年的實戰經驗,已經對數據挖掘形成了自己一套標準流程,該流程英文名叫CRISP-DM(Cross-industry Standard Process for Data Mining),中文名是“跨行業數據挖掘標準流程”,該流程是對數據挖掘生命週期的全面描述,共包含了6個步驟,其中特別注意的是該步驟並不是按照直線順序進行,而是根據實際項目情況,經常會回到上一個步驟中。

極簡入門數據挖掘

那麼,每步驟具體要做什麼?需要注意哪些點?不急!咱們往下看。


步驟1:業務理解

業務理解是指能夠界定業務問題範圍和理解業務目標,並能夠根據具體業務需求,制定靈活的措施。該步驟作為第一步當然是至關重要,因為它指明瞭數據挖掘的分析方向和範圍。有句俗話說的好“方向比努力更重要”。

為了更好的理解該步驟,就以小編的工作經歷給大家說一下。有一天,領導在辦公室突然大叫一聲:“這個月收入下滑低太刺激,客戶流失太嚴重了,嚇死寶寶了”,並走到你的面前,“小王,你不是在玩數據建模嗎,建一個客戶流失模型吧,看看如何挽留客戶提升收入。”小編接到這個艱鉅的任務,頭腦中靈光一閃,明白了領導的意圖應該包含了三個問題。

問題1:預測哪些客戶可能會流失?

問題2:可能流失客戶有哪些特徵?

問題3:如果開展營銷活動,那麼產生的預期收益是多少?

而要完成以上三個問題,這需要提前解答一下疑問:

(1)如何定義流失:是銷戶用戶?還是3個月內無通話用戶?還是欠費3個月以上用戶?還是話費消費低於前六個月70%用戶?因為不同的業務場景其定義不同,將導致模型輸出不同。

(2)選擇那些變量:比如用戶基礎信息,如年齡、性別、入網時長等;用戶行為信息,如通話、上網、消費,訂購等;用戶交往信息,如社交圈等。這需要根據自身系統儲存數據情況而定。

(3)如何確定時間窗口:考慮具體的業務場景,數據採集時間,營銷需求等因素來確定時間窗口。

(4)如何獲得效益:根據流失客戶的特徵描述,採集不同的營銷舉措,其中預期效益= 流失客戶預期收入 - 流失客戶挽留成本。

該步驟是將商業業務問題轉化為數據問題,因此需要具備較強的業務背景知識儲備以及對自有數據的熟悉程度。


步驟2:數據理解

數據理解是通過對收集的數據進行探索性分析,能夠了解數據質量狀況,同時考察數據的大致分佈情況。其中數據探索是通過檢驗數據集的數據質量、繪製圖標、計算某些特徵量等手段,對樣本數據集的機構和規律機型分析的過程。主要包括數據質量分析和數據特徵分析。

(1)數據質量分析

數據質量分析包括缺失值分析、異常值分析和一致性分析。主要分析數據是否能夠達到使用的標準。如數據缺失嚴重,分佈異常等情況,將會導致數據質量低下,在進行後期建模的時候要慎重選擇。

1)缺失值分析

缺失值分析分析包括原因分析、影響分析和統計分析。

缺失值產生的原因有:暫時無法獲取或獲取成本大;如用戶地址;被遺漏;如基站故障,無法獲取用戶位置;屬性值不存在;如校園客戶的工作單位,兒童的配偶。

缺失值帶來的影響有:可能導致丟失大量的有用信息;數據挖掘過程中模型蘊含的規律難把握,導致不確定性。

缺失值的統計分析:通過簡單的統計分析,統計含有缺失值屬性的個數、以及每個屬性的為缺失值和缺失率等相關指標;整體來講可對缺失值進行不處理、刪除、對可能值進行插補。

2)異常分析

異常分析包括簡單統計、3σ原則、箱形圖分析。

簡單統計:可以做描述性統計,如統計最大值和最小值,判定數據是否在合理區間;如年齡超過200,則該值為異常值;

3σ原則:如果數據符合正態分佈,異常值則定義為測量值超過平均值3倍標準差的值。P(|x-μ| ≥3σ)≤ 0.003

箱形圖分析:異常值可表示為: QL - 1.5IQR或QU+1.5IQR ;其中QU 為上分位,QL為下分位,IQR= QU - QL 其中

極簡入門數據挖掘

3)一致性分析

一致性分析包括不一致影響和不一致產生原因

不一致影響:數據不一致主要是指數據的矛盾性、不相容性等原因造成的;如果不處理會導致相反的結果;

不一致產生原因:名稱不一致,如終端品牌或機型的中英文;重複存放的數據未進行一致性更新;不同數據來源的數據,統計口徑不同,導致數據不一致;

(2)數據特徵分析

數據特徵分佈包括分佈分析、對比分析、統計量分析、週期性分析、貢獻度分析、相關性分析。主要了解數據自身的分佈情況以及數據間的關聯情況。

1)分佈分析

分佈分析可以揭示數據的分佈特徵和分佈類型。

針對定性數據,可以做餅形圖或條形圖反應分佈類型;

極簡入門數據挖掘

針對定量數據,可以做頻率圖或直方圖進行直觀地分析;

極簡入門數據挖掘

2)對比分析

對比分析是指把兩個相關聯繫的指標進行橫縱向或時間序列的對比分析

絕對數比較;利用絕對數進行比較;

相對數比較;用兩個有聯繫的指標對比計算,包括結構相對數;比例相對數;強度相對數;動態相對數;完成度相對數;

極簡入門數據挖掘

3)統計量分析

統計量分析是用統計指標對數據進行統計描述,主要包括集中趨勢和離中趨勢兩方面度量

集中趨勢:反應平均水平的指標,即集中程度,主要包括平均數、中位數、眾數等指標。

極簡入門數據挖掘

離中趨勢:反應變異程度的指標,即偏離平均水平的程度,主要包括極差、標準差、變異係數,四分位數間距

極簡入門數據挖掘

4)週期性分析

週期性分析是探索某變量的變化是否隨時間呈現週期性變化,主要有年、季度、月度、周、天、時等週期變化.

極簡入門數據挖掘

5)貢獻度分析

貢獻度分析又稱20/80定律。同樣的投入對不同客戶會產生不同的收益

極簡入門數據挖掘

6)相關性分析

相關性分析是指用適當的統計指標來反映連續性變量之間線性相關程度的強弱。主要分析方式包括散點圖和相關性係數

散點圖

極簡入門數據挖掘

相關係數:Pearson相關係數、Spearman秩相關係數和判定係數

極簡入門數據挖掘


步驟3:數據準備

數據準備是指通過將收集的數據進行清洗、集成、變換和集約等預處理,以提升數據質量,同時進一步根據對業務的理解,生成一些有業務含義的衍生變量,並最後整理成可以進行數據挖掘的寬表形式的過程。

極簡入門數據挖掘

數據清洗:主要刪除無關數據、重複數據、平滑噪音數據、處理缺失值、異常值等;

數據集成:是將多個數據源合併存放在一個一致的數據儲存中的過程;

數據變換:對數據規範化,變量離散化,構造屬性,將數據轉變成“適當的”形式;

數據規約:產生更小的但保持原數據完整性的新數據集,屬性規約和數值數值規約;

數據準備過程將佔數據挖掘整個過程的60%甚至更多時間。該過程有些書本成為特徵工程,如果特徵建立的好,即使建立一個簡單的模型,也會產生很好的效果。


步驟4:建立模型

建立模型主要是選擇和應用各種建模技術或算法,同時對它們的參數進行調整已到達最優值的過程。在明確建模技術或算法後,需要確定模型參數和輸入變量。主要包括變量選擇、算法選擇和參數調整。

(1)變量選擇

如果過多變量入選可能削弱主業務變量,結果不易解釋,過少變量入選導致信息丟失,因此在變量選擇過程中常用的方法,包括相關性分析,逐步向前法,逐步向後法。

(2)算法選擇

現在模型算法較多,如決策樹、邏輯迴歸、神經網絡等,因此需要從多個角度考慮來選擇合適的模型算法,可用從業務角度和可用性角度出發。

業務角度的考慮:是否滿足業務場景和調整;

模型可用性角度考慮:決策樹的結果具有可解釋性,人工神經網絡準確度較高,但內部是黑匣子。

(3)參數調整

參數配置不同可能會導致模型的性能顯著差距。一般的做法是對每個參數選定一個範圍和變化步長,通過對不同參數對比分析,選擇最優的模型參數。另外建模是的數據源不同,即使方法相同,也會導致參數不同。

建立模型是數據挖掘的核心階段,該階段需要熟練掌握數據算法,能夠根據結果來調整優化模型。


步驟5:模型評估

模型評估主要從技術和業務兩個層面進行評估,一是技術人員從技術角度對模型效果進行評估,二是業務人員對模型在現實環境中的實用性進行評估。模型評估是數據挖掘走向實際應用的重要階段。一般使用的評估方法包括混沌矩陣和ROC。

(1)分類結果混沌矩陣

極簡入門數據挖掘

查準率、查全率和準確率指標越高模型性能越好。

(2)ROC曲線

ROC曲線是根據一系列不同的二分類方式(分界值或決定閾),以真陽性率(靈敏度)為縱座標,假陽性率(1-特異度)為橫座標繪製的曲線。

極簡入門數據挖掘

ROC曲線越靠左上角或AUC的面積越大,模型的準確率越高。


步驟6:模型發佈

模型發佈是將構建的模型進行系統化和自動化處理,在模型實施的過程中實時監控和維護模型的運轉,同時要基於業務的發展階段和需求,對模型進行重構。

(1)總結·沉澱

回顧整個建模過程,總結經驗教訓,為後期的經驗項目做沉澱積累;

將模型的構建過程形成文檔,如 《XX模型構建說明書》

可將優秀的模型進行分享;

(2)監控·維護

建立模型監控機制和日常維護制度;能夠保證模型的正常運轉;

監控設計模型的硬件設施,計算能力,數據接入情況等;

(3)起點·重構

隨著業務的發展變化,模型的適用性和效果可能也會發生變化,有必要對模型進行升級或重構;

隨著數據源的不斷豐富,也需要持續的優化模型的性能;


另外,入門後如何提升數據挖掘能力?小編的經驗僅供參考。

多看:系統地看些數據挖掘或機器學習的專業書,來搭建自己完整的知識體系。如周志華的《機器學習》、《統計建模與R語言》、《數據分析與挖掘實戰案例精粹》等相關書籍。

多學:對向牛人學習,關注他們寫的博客(如數據鋪子),微信公眾號(如數據挖掘入門與實戰),公開課(如斯坦福大學Andrew Ng教授《機器學習》)等

多練:可以根據經典案例代碼實操,參加數據建模競賽(如kaggle,阿里天池等),工作中的項目經驗等。

只要不斷的堅持學習,相信總有一天,你也可以成為數據挖掘領域的專家。

相關推薦

推薦中...