大數(shù)據(jù)技術貼:構建一個有指導的數(shù)據(jù)挖掘模型

責任編輯:editor005

2014-09-25 11:06:11

摘自:36大數(shù)據(jù)

把業(yè)務問題轉換為數(shù)據(jù)挖掘問題選擇合適的數(shù)據(jù)認識數(shù)據(jù)創(chuàng)建一個模型集修復問題數(shù)據(jù)轉換數(shù)據(jù)以揭示信息構建模型評估模型部署模型評估結果重新開始(有指導數(shù)據(jù)挖掘方法模型)4.1聚合客戶簽名  模型集是一個表或一系列表,每一行表示一個要研究的項目,而字段表示該項目有利于建模的一切。

數(shù)據(jù)挖掘的目的,就是從數(shù)據(jù)中找到更多的優(yōu)質用戶。接著上篇繼續(xù)探討有指導數(shù)據(jù)挖掘方法模型。什么是有指導的數(shù)據(jù)挖掘方法模型,以及數(shù)據(jù)挖掘如何構建模型。在構建一個有指導的數(shù)據(jù)挖掘模型,首先要理解和定義一些模型試圖估計的目標變量。一個典型的案例,二元響應模型,如為直接郵寄和電子郵件營銷活動選擇客戶的模型。模型的構建選擇歷史客戶數(shù)據(jù),這些客戶響應了以前類似的活動。有指導數(shù)據(jù)挖掘的目的就是找到更多類似的客戶,以提高未來活動的響應。

這構造有指導的數(shù)據(jù)挖掘模型的過程中,首先要定義模型的結構和目標。二、增加響應建模。三、考慮模型的穩(wěn)定性。四、通過預測模型、剖析模型來討論模型的穩(wěn)定性。下面我們將從具體的步驟談起,如何構造一個有指導的數(shù)據(jù)挖掘模型。

有指導數(shù)據(jù)挖掘方法:

把業(yè)務問題轉換為數(shù)據(jù)挖掘問題選擇合適的數(shù)據(jù)認識數(shù)據(jù)創(chuàng)建一個模型集修復問題數(shù)據(jù)轉換數(shù)據(jù)以揭示信息構建模型評估模型部署模型評估結果重新開始

 

(有指導數(shù)據(jù)挖掘方法模型)

步驟:

1、把業(yè)務問題轉換為數(shù)據(jù)挖掘問題

《愛麗絲夢游仙境》中,愛麗絲說“我不關心去哪兒”。貓說:“那么,你走哪條路都沒什么問題”。愛麗絲又補充到:只要我能到達某個地方。貓:“哦,你一定能做到這一點,只要你能走足夠長的時間。”

貓可能有另外一個意思,如果沒有確定的目的地,就不能確定你是否已經(jīng)走了足夠長的時間。

有指導數(shù)據(jù)挖掘項目的目標就是找到定義明確的業(yè)務問題的解決方案。一個特定項目的數(shù)據(jù)挖掘目標不應該是廣泛的、通用的條例。應該把那些廣泛的目標,具體化,細化,深入觀察客戶行為可能變成具體的目標:

確定誰是不大可能續(xù)訂的客戶為以家庭為基礎的企業(yè)客戶設定一個撥打計劃,該計劃將減少客戶的退出率確定那些網(wǎng)絡交易可能是欺詐如果葡萄酒和啤酒已停止銷售,列出處于銷售風險的產(chǎn)品根據(jù)當前市場營銷策略,預測未來三年的客戶數(shù)量

有指導數(shù)據(jù)挖掘往往作為一個技術問題,即找到一個模型以解釋一組輸入變量與目標變量的關系。這往往是數(shù)據(jù)挖掘的中心,但如果目標變量沒有正確的定義以及沒有確定適當?shù)妮斎胱兞?。反過來,這些任務又取決于對要解決的業(yè)務問題的理解程度。沒有正確的理解業(yè)務問題就沒辦法把數(shù)據(jù)轉化為挖掘任務。在技術開始之前,必須認識兩個問題:如何使用結果?以何種方式交付結果?

上述兩個問題,都是建立在客戶的真正需求是什么?而不是作為數(shù)據(jù)挖掘工程師認為的什么是有用的數(shù)據(jù),什么對客戶最好的數(shù)據(jù)。這些結果看似有利于客戶提高銷售額,但是我們交付的結果是什么,我們有理解客戶的需求嗎?所有前提,不要著急急著動手,先理解真正需求,不可盲目主斷。

1.1如何使用結果?

例如:許多數(shù)據(jù)挖掘工作旨在提高客戶保留

主動向高風險或高價值的客戶提供一個優(yōu)惠,挽留他們改變獲取渠道的組合,以利于那些能帶來最忠實客戶的渠道預測未來幾個月的客戶數(shù)量改變會影響客戶的滿意度的產(chǎn)品的缺陷

這些目標都會對數(shù)據(jù)挖掘過程產(chǎn)生影。響。通過電話或直接郵寄的營銷活動接觸現(xiàn)有客戶,意味著除了確定客戶風險之外,你要了解為什么他們處于風險中,從而可以構造一個有吸引力的優(yōu)惠。電話,不能過早或過遲。預測意味著除了確定那些客戶可能離開,確定有多少新客戶加入,以及他們會停留多久。而新客戶的加入,不只是意味著預測模型要解決的問題,還是被納入到業(yè)務目標和預算之中。

1.2如何交付結果?

有指導的數(shù)據(jù)挖掘項目可能會產(chǎn)生幾個不同類型的交付形式。交付形式往往是一個報表或充滿圖標和圖形的簡報。交付形式會影響數(shù)據(jù)挖掘的結果。當我們的目的是提醒銷售驚雷時,產(chǎn)生一個營銷測試的客戶列表是不夠的。所謂的如何交付結果,就是在挖掘結果產(chǎn)生之后,我們要如何給用戶提供這個結果,目的是好的,但實際的過程中會遇到,會遇到我們沒有辦法去交付這個結果。因為,你交付的結果,可能會導致一些本不該流失的客戶,卻流失了。這也是在具體工作之前,我們要考慮的問題。

數(shù)據(jù)挖掘人員的作用是確保業(yè)務問題的最后表述可以被轉換成一個技術問題。前提是正確的業(yè)務問題。

 

2、擇合適的數(shù)據(jù) 2.1什么數(shù)據(jù)可用?

尋找客戶數(shù)據(jù)的首要地方就是企業(yè)數(shù)據(jù)倉庫。倉庫中的數(shù)據(jù)已經(jīng)被清洗和核實過,并且多個數(shù)據(jù)源被整合到一起。一個單一的數(shù)據(jù)模型有望確保命名相似的字段在整個數(shù)據(jù)庫和兼容的數(shù)據(jù)類型中都有相同的含義。企業(yè)數(shù)據(jù)庫是一個歷史數(shù)據(jù)庫,新數(shù)據(jù)不斷的被追加,但歷史數(shù)據(jù)一直不變。從這一點更有利于做決策支持。

問題在于,在許多企業(yè)組織中,這樣的數(shù)據(jù)倉庫實際上并不存在,或者存在一個或多個數(shù)據(jù)倉庫,不符合直接作為規(guī)范的數(shù)據(jù)用來挖掘。在這種情況下,挖掘人員,必須尋求來自不同的部門的數(shù)據(jù)庫和業(yè)務系統(tǒng)內的數(shù)據(jù)。業(yè)務系統(tǒng)數(shù)據(jù)是指執(zhí)行一個特定的任務,如網(wǎng)站運行,索賠處理,完成呼叫或賬單處理。它們的目標是快速、準確的處理事務,數(shù)據(jù)可以保存成任何格式。而這些對于沒有數(shù)據(jù)倉庫的一些企業(yè)來說,這些數(shù)據(jù)往往是隱藏的很深,需要大量的企業(yè)調度和規(guī)劃來整理這些數(shù)據(jù)。這也就談到了一個問題:就是數(shù)據(jù)倉庫對一家企業(yè)的重要性,而建立企業(yè)級數(shù)據(jù)倉庫,需要的決策不是一個經(jīng)理就可以完成的,這可能需要企業(yè)級最高領導下令,下面的所有部門全部配合。

在企業(yè)總確定哪些數(shù)據(jù)可用是相當困難的。因為許多的文檔會丟失或過時。通常情況下,沒有一個人可以提供所有答案。確定什么數(shù)據(jù)可用,需要遍歷數(shù)據(jù)字典,了解具體的業(yè)務,溝通每個部門,訪問用戶和DBA,審查現(xiàn)有的報告以及查找數(shù)據(jù)本身是否有用。還有些問題,不僅需要有關客戶的數(shù)據(jù),還需要潛在的客戶的數(shù)據(jù)。當需要這些數(shù)據(jù)的時候,外部資源和業(yè)務系統(tǒng),如Web日志、呼叫詳細記錄、呼叫中心系統(tǒng)、有時甚至是郵件或電子表格,這些都是數(shù)據(jù)信息的來源。

數(shù)據(jù)挖掘工作的方式并不是一直等到完美和干凈的數(shù)據(jù)才進行下一步工作。雖然需要額外干凈的數(shù)據(jù),但是受挖掘必須能夠使用目前的數(shù)據(jù),提前入手,開始工作。

2.2多少數(shù)據(jù)才足夠?

一、數(shù)據(jù)越多越好,更多意味著更好。在建模期間,必須對模型集進行平衡,使得每個結果的數(shù)目都相等。如果在一個大規(guī)模的樣本中有一個比例很小的稀有數(shù)據(jù),則一個較小的、均衡的樣本會更受歡迎。

二、當模型集足以建立良好的、穩(wěn)定的模型時,使它更大將會產(chǎn)生相反的作用,因為這時需要更長時間在更大的模型上去運行,由于數(shù)據(jù)挖掘是一個反復的過程,這就導致時間的浪費。如果一次建模例程的運行都需要數(shù)小時而不是數(shù)分鐘,這個時間的消耗就耗不起的。這就導致,在模型確定后,數(shù)據(jù)并不是越多越好。

2.3需要多久的歷史?

數(shù)據(jù)挖掘使用過去的數(shù)據(jù)預測未來。但是,數(shù)據(jù)需要來自多久的過去?這個沒有定性的回答,這要考慮很多的因素。另一方面,歷史上太久的數(shù)據(jù)未必對數(shù)據(jù)挖掘有用,因為市場環(huán)境在變化,特別是當一些外部事件(如監(jiān)管制度的變化)進行了干預時尤其如此。對于許多以客戶為中心的應用,2-3年的歷史是合適的。然而,在這種情況下,客戶關系確實存在有效才被證明是有價值的,那么重要的是什么:最初的渠道是什么?最初的報價是什么?客戶最初怎么支付的等。

多少變量:

不熟練數(shù)據(jù)挖掘的人員有時太急于拋出不太可能有意義的變量,且只保存了他們認為重要的幾個精心挑選的變量。數(shù)據(jù)挖掘方法要求數(shù)據(jù)本身能揭示它重要或不重要。

通常情況下當與其他變量結合使用時,原先被忽視的變量會具有預測價值。例如:一個信用卡者從未把把現(xiàn)金刷沒又繼續(xù)刷,通過數(shù)據(jù)挖掘發(fā)現(xiàn)他們僅在11月和12月才會使用用信用卡墊付。據(jù)推測,這些人非常謹慎,大部分時間他們都避免因多刷而產(chǎn)生的高利息,謹慎也推斷出一個結論(他們比習慣使用現(xiàn)金墊款的人更加不太可能選擇拖欠欠款),但在假期,他們需要一些額外的現(xiàn)金,并愿意為此付出較高的利息。

2.4數(shù)據(jù)必須包含什么?

最低限度,數(shù)據(jù)必須包含有可能有意義的結果的例子。有指導數(shù)據(jù)挖掘的目的是預測一個特定目標變量的值,但在有指導的數(shù)據(jù)挖掘中,模型集必須由分類好的數(shù)據(jù)組成。要區(qū)分哪些人拖欠貸款哪些人不可能拖欠,模型集的每個類都需要有成千上萬的例子。當一個新的申請產(chǎn)生時,他的申請會與過去的客戶的申請進行對比,可以直接把新的申請歸類。這其中隱含的意思:數(shù)據(jù)可用來形容過去發(fā)生了什么事情,從錯誤總吸取教訓,首先我們必須識別我們已經(jīng)犯了什么錯。

3、認識數(shù)據(jù)

在數(shù)據(jù)用于構建模型之前,在探索數(shù)據(jù)上花費時間的重要性通常沒有得到足夠的重視。后面我們會抽出絕對的篇幅來說明這個問題。優(yōu)秀的數(shù)據(jù)挖掘工程師似乎非常依賴直覺——例如,某種程度上能夠猜測將要派生的變量結果如何。要在陌生的數(shù)據(jù)集中利用直覺來感應發(fā)生了什么事情,唯一辦法就是陷入數(shù)據(jù)之中,你會發(fā)現(xiàn)許多數(shù)據(jù)質量的問題,并能夠得到啟發(fā)提出在其他情況下不容易被發(fā)現(xiàn)的問題。

3.1檢查分布

在數(shù)據(jù)庫的初步探索階段,數(shù)據(jù)可視化工具非常有益,如:散列圖、條形圖、地理地圖、Excel等可視化工具對觀察數(shù)據(jù)提供了強大的支持。

當你開始著手一個新數(shù)據(jù)源中的數(shù)據(jù)文件,就應該剖析數(shù)據(jù)了解到底發(fā)生了什么,包括計數(shù)和每個字段的匯總統(tǒng)計,分類變量不同值的數(shù)量,并在適當?shù)那闆r下,需要基于產(chǎn)品和區(qū)域的交叉統(tǒng)計表。除了提供對數(shù)據(jù)的了解,剖析工作可能會產(chǎn)生不一致問題或定義問題的警告,這些問題可能會對后面的分析造成麻煩。

3.2值與描述的比較

觀察每個變量的值,并把它們與現(xiàn)有文件中的變量描述進行比較。這項工作可以發(fā)現(xiàn)不準確或不完整的數(shù)據(jù)描述。其實是,你記錄的數(shù)據(jù),是否和你要描述的數(shù)據(jù)一致,這個要先確定。目的是什么?在實際的數(shù)據(jù)挖掘過程中,你要去揣測這個字段的數(shù)據(jù)到底是什么意思?如果業(yè)務人員知道,那是最好的了。如果業(yè)務人員都不知道,這個時候,可能就需要憑借經(jīng)驗去揣測了,而且這種情況經(jīng)常發(fā)生,字段定義不明確。

3.3詢問大問題

如果數(shù)據(jù)看上去似乎不明智或者不如所愿,記錄下來。數(shù)據(jù)探索過程的一個重要輸出是對提供該數(shù)據(jù)的人給出一個問題列表。通常,這些問題將需要進一步研究,因為很少有用戶像數(shù)據(jù)挖掘工程師一樣仔細地觀察數(shù)據(jù)。對數(shù)據(jù)的探索的前期工作,判斷字段,含義,是否有用,是否缺失,是否有問題等一系列問題,需要大量的工作,同時也是一件心細的過程。

4、創(chuàng)建一個模型集

模型集包含建模過程中使用的所有數(shù)據(jù)。模型集中的一些數(shù)據(jù)被用來尋找模式,對于一些技術,模型集中的一些數(shù)據(jù)被用來驗證該模型是否穩(wěn)定。模型集也可用來評估模型的性能。創(chuàng)建一個模型集需要從多個數(shù)據(jù)源聚合數(shù)據(jù)以形成客戶簽名,然后準備數(shù)據(jù)進行分析。

4.1聚合客戶簽名

模型集是一個表或一系列表,每一行表示一個要研究的項目,而字段表示該項目有利于建模的一切。當數(shù)據(jù)描述客戶時,模型集的行通常稱為客戶簽名。客戶簽名,每個客戶都由他離開的蹤跡唯一確定,你可以利用蹤跡充分的了解每個客戶。

從關系型數(shù)據(jù)庫中聚合客戶簽名旺旺需要復雜的查詢,這些查詢往往需要關聯(lián)很多的表去查詢的數(shù)據(jù),然后利用其他來源的數(shù)據(jù)增強結果。聚合數(shù)據(jù)的一部分過程是使數(shù)據(jù)位于正確的匯總層次,然后每一行都包含先關客戶的所有信息。

4.2創(chuàng)建一個平衡的樣本

在標準的統(tǒng)計分析中,一種常見的做法是拋棄離群點——遠遠超出正常范圍的觀測值。然而在數(shù)據(jù)挖掘的過程中,這些利群點可能正是你要找的?;蛟S他們帶有欺詐行為,可能是你的業(yè)務中的一些錯誤,或一些利潤驚人的市場商機。在這種情況下,我們不希望拋出離群點,認識和了解他們。

知識發(fā)現(xiàn)算法需通過實例來進行學習。如果沒有足夠數(shù)量的關于某個特定類或行為模型的例子,數(shù)據(jù)挖掘工具無法得出一個預測該類或模式的模型。在這種情況下,利用罕見事件的例子豐富該模型集,提高建模中該事件的概率。如果比較罕見,有兩種方法可以平衡樣本:一、分層抽樣。二、權重。

例如:銀行要建立一個模型,以確定哪些客戶是私人銀行計劃的潛在客戶。這些計劃只針對非常富有的客戶,他們在一個相當大的銀行客戶樣本中也是非常稀少的。如何構建一個能發(fā)現(xiàn)這類用戶的模型,該模型集可能需要有50%的私人銀行的客戶,即使他們代表所有支票份額中還不到1%。另外私人銀行客戶可能被賦予一個值為1的權重,其他客戶的權重為0.01,所以浙西專有客戶的總權重等于其余客戶的總權重。通過增加一些孤立點客戶的權重,從而達到模型對數(shù)據(jù)的合理梳理。

4.3時間幀

基于一個時間段內的數(shù)據(jù)建立模型會增加風險,即學習的知識不真實。結合模型集中的多個時間幀可以消除季節(jié)性因素的影響。由于季節(jié)性影響如此重要,因此應該把它們明確地添加到客戶簽名中。還有假日購物模式也非常重要。把客戶的信息按照時間細分,或是在相應的數(shù)據(jù)上打上標簽。

4.4創(chuàng)建一個預測模型

當模型集用來預測時,另一個問題,模型集應包含多長時間,時間段該如何劃分。任何客戶標簽在預測變量和目標變量之間都應該有一個時間差。時間可分為,過去、現(xiàn)在、將來。當然所有數(shù)據(jù)都來自過去,過去又分為三個時期:遙遠的過去、不太遙遠的過去和最近。預測模型就是要發(fā)現(xiàn)遙遠的過去的模型,用來解釋最近的輸出。當部署模型時,它能夠使用最近的數(shù)據(jù)預測未來。如果構建一個模型來利用6月份(不太遙遠的過去)的數(shù)據(jù)對7月份(最近)進行預測,那么在8月份之前的數(shù)據(jù)是可用的,但它不能用來對9月份進行預測。但是8月份的數(shù)據(jù)是可用的嗎?肯定不是,因為這時,數(shù)據(jù)仍在產(chǎn)生數(shù)據(jù)。也不會是9月份的第一周,因為這些數(shù)據(jù)需要被收集、清洗、加載、測試和認可。8月份的數(shù)據(jù)可能要懂啊9月份中旬或10月才能用,到這個時候,沒人會擔心9月份的預測了。解決的辦法是在模型集中跳過1個月。

4.5創(chuàng)建一個剖析模型集

剖析模型集與測試模型相似,但有一點:目標的時間幀與輸入的時間幀重疊。看微小的差別對建模工作的影響卻很大。因為輸入可能會“污染”目標模式。例如:銀行,擁有投資賬戶的客戶在儲蓄賬戶中往往有非常低的結余——因為他們能從投資賬戶中得到更好的回報。這是否意味著銀行要為了投資賬戶而識別低存儲賬戶余額的客戶呢?可能不需要,因為這些客戶的資產(chǎn)很少。

解決這個問題的一種方法是非常仔細得選擇剖析模型的輸入。把所有賬戶余額組合到“儲蓄”,“貸款”兩組。儲蓄組包括所有類型的儲蓄和投資。這種方法非常有效,事實證明模型是穩(wěn)定的。一個更好的辦法:開通投資賬戶之前對賬戶產(chǎn)生一個模型。一個并發(fā)的問題是:由于每一個客戶的時間幀都取決于客戶開通賬戶的時間,建立這樣一個模型集面臨更多的困難。

當目標變量的時間幀與輸入變量的時間幀相同時,那么該模型是一個剖析模型,并且這個輸入可能會引入一些似是而非的模式,而這些模式可能會混淆數(shù)據(jù)挖掘技術。你需要非常小心地選擇輸入或者重建模型集來產(chǎn)生預測模型。

4.6劃分模型集

當你從適當?shù)臅r間幀中獲得預分好的數(shù)據(jù)后,有指導數(shù)據(jù)挖掘房峰輝把它分為三個部分。一、訓練集,用戶建立初始模型。二、驗證集,用于調整初始模型,減少其與訓練集特性的額綁定,從而更具一般性。三、測試集,用來衡量吧模型應用與未知的數(shù)據(jù)時可能產(chǎn)生的效果。三個數(shù)據(jù)集是必要的,因為若某個數(shù)據(jù)已在此過程中的某一步使用過,那么它包含的信息就已經(jīng)成為模型的一部分。因此,它不能用來修正或判斷模型。

我們往往很難理解為什么訓練集和驗證集被用來建立模型之后就會成為“污點”。這就好比你參加考試,你認為這題你做的是正確的,老師讓你去預測考試成績,你顯然認為分數(shù)很高,因為你認為,如果沒有答案,第二天在參加同樣的考試,你的想法不會改變。這時候,你的系統(tǒng)中沒有一個新的標準,這時,你需要的是一個驗證集。

現(xiàn)在,想象一下測試結果以后,估分之前老師讓你看看你同學的幾個試卷。如果他們都和你的結果不一樣,這時候,你可能會把你自己的答案標記為一個錯誤的答案。如果第二天老師給出了正確的結果,這個時候讓你再去做同樣的的試卷,你可能得出的就是不同的結果。這就是為什么驗證集應該不同于測試集的原因。

對于預測模型,一個好主意是測試集所在的時間段與訓練集和驗證集的時間段不同。一個模型的穩(wěn)定性證據(jù)在于它在連續(xù)的月份中都能夠良好的運行。來自不同的時間段的測試集,也稱為不合時宜的測試集,雖然這樣的測試集并不總是可用,但是它是驗證模型穩(wěn)定性的一個很好的方法。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號