??? 摘 要:以決策樹數(shù)據(jù)挖掘分類算法在金融客戶關(guān)系管理(CRM)中的應(yīng)用為例,進(jìn)行了數(shù)據(jù)挖掘的嘗試,從中發(fā)現(xiàn)企業(yè)產(chǎn)品的銷售規(guī)律和客戶群特征,從而提高CRM對市場活動和銷售活動的分析能力,得到了與實際經(jīng)驗相符的結(jié)果和相應(yīng)的“規(guī)則”,驗證了其可行性和可供決策支持的現(xiàn)實意義。
??? 關(guān)鍵詞:算法;數(shù)據(jù)挖掘;決策樹;客戶關(guān)系管理
?
??? 決策樹技術(shù)是一種對海量數(shù)據(jù)集進(jìn)行分類的非常有效方法,通過決策樹的構(gòu)造模型,從海量信息中挖掘有效的數(shù)據(jù),提取有價值的分類規(guī)則,從而獲得有用的知識,為決策者提供支持,幫助決策者準(zhǔn)確地預(yù)測[1]。本文研究了基于決策樹的數(shù)據(jù)挖掘的相關(guān)理論發(fā)展及實際應(yīng)用,尤其是在商業(yè)中的應(yīng)用,研究了決策樹算法在數(shù)據(jù)挖掘中應(yīng)用,給出了在金融客戶關(guān)系管理中的具體算例。
1 決策樹的分類挖掘技術(shù)
1.1 決策樹的分類挖掘算法
??? 分類是數(shù)據(jù)挖掘中應(yīng)用最多的任務(wù),要為每個類別做出準(zhǔn)確的描述或建立分析模型或挖掘出分類規(guī)則,然后用這個分類規(guī)則對其他數(shù)據(jù)庫中的記錄進(jìn)行分類[2]。在具體分類中,總是希望進(jìn)行較少的屬性測試,較快地給實例分類,因此在構(gòu)建決策樹時,樹的高度越小越好。對于N個樣本,它們分成屬于類別Ci( i = 1 ,2 , …, C)的樣本集合,類別Ci中的樣本個
??? 數(shù)為Ni,每個樣本有K個屬性,每個屬性有JK個值。決策樹的構(gòu)造過程如下:
??? (1)計算初始熵(熵用字符S表示):
???
??? (2)選擇一個屬性作為決策樹的根節(jié)點:
??? ①對每個屬性Ak( k = 1 ,2 , …,K ) 按照屬性Ak的J個Akj值,把原始樣本分成第1級樣本集。雖然Akj的分支含有nkj個樣本,但它們不一定屬于單一的類別;
??? ②對于每個分支的nkj個樣本,屬于類別Ci的樣本數(shù)目是nkj(i),用下式可以求出該分支的熵:
???
??? ③計算由測試屬性引起的熵降低,即
??? ④選擇產(chǎn)生最大熵降低的屬性AK0,即AK0滿足:
???
??? ⑤屬性AK0便是決策樹的根。
??? (3)由屬性將產(chǎn)生JK0個葉節(jié)點,并將樣本集分成JK0個子集,對每個葉節(jié)點上的樣本子集依次利用上面的方法選擇一個屬性Ay作為決策樹的下一級,使在該葉節(jié)點能得到最大的熵降低。
??? (4)按照步驟(3)不斷構(gòu)造決策樹的下一級直至所有的樣本子集只有一個類別,這時表明系統(tǒng)的熵為零,決策樹構(gòu)造過程完畢。
1. 2 決策樹分類挖掘系統(tǒng)的建立
??? 在對金融客戶進(jìn)行分類分析的過程中,決策樹分類數(shù)據(jù)挖掘系統(tǒng)建立和應(yīng)用的一個典型過程是:(1)根據(jù)客戶分類的標(biāo)準(zhǔn),執(zhí)行客戶分類算法,并將運(yùn)行結(jié)果存儲于數(shù)據(jù)倉庫中,這樣,每個現(xiàn)有的客戶都具有一個確定的客戶類別;(2)根據(jù)歷史數(shù)據(jù),主要是客戶的背景數(shù)據(jù)和客戶的分類數(shù)據(jù),執(zhí)行決策樹生成算法,針對每一種客戶類別,生成一棵決策樹,以一定的形式存放于數(shù)據(jù)倉庫中;(3)在以上過程執(zhí)行完畢后,當(dāng)一個新的客戶來辦理業(yè)務(wù)時,客戶經(jīng)理可以首先在系統(tǒng)中調(diào)用決策樹展示模塊,系統(tǒng)將整個決策樹展示出來,然后系統(tǒng)根據(jù)客戶的具體背景情況預(yù)測客戶所屬的客戶類別,以及屬于該客戶類別的概率,并將這些情況展現(xiàn)給客戶經(jīng)理,客戶經(jīng)理根據(jù)這些情況,對該客戶采取相應(yīng)的營銷策略,從而達(dá)到較好的效果。
2 基于決策樹的數(shù)據(jù)挖掘的案例分析
2.1 公司客戶關(guān)系數(shù)據(jù)庫
??? 利用決策樹實現(xiàn)客戶細(xì)分,主要是在基于客戶價值的客戶細(xì)分方法之上進(jìn)行的,目的是通過了解客戶的特征性指標(biāo)和行為性指標(biāo)與客戶所在客戶類別的關(guān)系,可以了解同一價值客戶的差異性,有針對性地對不同客戶制定相應(yīng)的銷售策略[3]。下面以河南省某金融企業(yè)的客戶關(guān)系管理(CRM)為例,該公司CRM數(shù)據(jù)如表1所示,說明基于決策樹的客戶分類數(shù)據(jù)挖掘技術(shù)在金融企業(yè)客戶關(guān)系管理中的應(yīng)用,來具體闡述如何運(yùn)用改進(jìn)ID3算法進(jìn)行數(shù)據(jù)挖掘。由于是以分析客戶的特征性指標(biāo)為例的,所以從中選取了代表特征性的3個屬性:客戶年齡段、學(xué)歷以及職業(yè)。
?
2.2基于ID3的細(xì)分步驟
??? 對于N個樣本,它們分成屬于類別Ci( i = 1 ,2 , …, C )的樣本集合,類別Ci中的樣本個數(shù)為Ni,每個樣本有K個屬性,每個屬性有JK個值。類別是客戶類別,分為Ⅰ類客戶、Ⅱ類客戶、Ⅲ類客戶和Ⅳ類客戶4類。將具體的客戶年齡概化為≤25 、25~50 和≥50 3個年齡段,按學(xué)歷分為初等學(xué)歷、中等學(xué)歷和高等學(xué)歷3類。按職業(yè)分為商業(yè)人員、企業(yè)人員和其他人員3類。分別如表2、表3、表4所示。
???
?????
??? 決策樹的構(gòu)造過程如下:
??? (1)計算初始熵(熵用字符S表示) :
????
??? (2) 選擇一個屬性作為決策樹的根節(jié)點:
??? ①對每個屬性Ak( k = 1 ,2 , …, K ) 按照屬性Ak的J個Akj值,把原始樣本分成第1級樣本集。雖然Akj的分支含有nkj個樣本,但它們不一定屬于單一的類別。
??? ②對于每個分支的nkj個樣本,屬于類別Ci的樣本數(shù)目是nkj(i),用下式可以求出該分支的熵:
???
??? ③計算由測試屬性引起的熵降低,即
???
??? 根據(jù)以上計算結(jié)果,得出最大熵降低的屬性是K3,即職業(yè)。
??? ⑤屬性職業(yè)便是決策樹的根。
??? (3) 由屬性將產(chǎn)生JK0個葉節(jié)點,并將樣本集分成個子集,對每個葉節(jié)點上的樣本子集依次利用上面的方法選擇一個屬性Ay作為決策樹的下一級,使在該葉節(jié)點能得到最大的熵降低。
??? (4) 按照步驟(3)不斷構(gòu)造決策樹的下一級直至所有的樣本子集只有一個類別,這時表明系統(tǒng)的熵為零,決策樹構(gòu)造過程完畢。然后根據(jù)上述的決策樹構(gòu)造過程,得到圖1所示的決策樹。
?
2.3具體應(yīng)用分析
??? 決策樹算法中屬性的取值,進(jìn)一步細(xì)分所依據(jù)的是特征性指標(biāo)和行為性指標(biāo),然后可以分別得出各種特征性指標(biāo)和行為性指標(biāo)與4類客戶之間的樹狀分類結(jié)構(gòu)。下面以分析特征性指標(biāo)為例,來說明決策樹的構(gòu)建。
??? 決策樹構(gòu)建之前,必須要找出決策樹的主屬性。決策樹主屬性的確定主要是根據(jù)具體的情況而定。所以客戶細(xì)分的主屬性應(yīng)該是“客戶類別”,就是基于客戶價值的客戶細(xì)分得出的客戶類別。
??? 對于數(shù)據(jù)的選取,并不是所有的數(shù)據(jù)都符合要求,決策樹建立所要求的數(shù)據(jù)應(yīng)是沒有噪音數(shù)據(jù)和缺失數(shù)據(jù),這就需要對數(shù)據(jù)進(jìn)行匯總處理。匯總處理一方面是將企業(yè)不同部門和不同分銷機(jī)構(gòu)的數(shù)據(jù)進(jìn)行集成;另一方面是將數(shù)據(jù)進(jìn)行概化處理,即將低層次的原始數(shù)據(jù)替換為高層次的概念,以便于進(jìn)行數(shù)據(jù)挖掘。
??? 分析圖1,從中可以明確4類客戶的特征屬性的大致排布情況,根據(jù)所了解的情況,能夠很方便地從客戶的這些特征中大概了解其在4 類客戶中所處的位置。用IF - THEN 的格式來表示樹狀圖的信息(以第Ⅲ類客戶為例),例如:
??? IF 職業(yè)=“商業(yè)員工”AND 年齡> 25 AND 年齡
??? < 50 AND 學(xué)歷=“初等教育”THEN 屬于Ⅲ類客戶
??? IF 職業(yè)=“企業(yè)員工”AND 年齡> 25 AND 年齡
??? < 50 AND學(xué)歷=“初等教育”O(jiān)R 學(xué)歷=“中等教育”THEN 屬于Ⅲ類客戶
??? IF 職業(yè)=“其他員工”AND 年齡> 25 AND 學(xué)歷
??? ≠“高等教育”THEN 屬于Ⅲ類客戶???????????????????
??? 這些式子說明:對于“商業(yè)員工”的客戶來說,如果年齡在25~50 歲之間,學(xué)歷為“初等教育”,屬于Ⅲ類客戶;對于“企業(yè)員工”的客戶來說,如果年齡在25~50 歲之間,學(xué)歷為“中等教育”或者“高等教育”,屬于Ⅲ類客戶;對于“其他員工”的客戶來說,如果年齡大于25 歲,只要學(xué)歷不是“高等教育”,就屬于Ⅲ類客戶。
??? 根據(jù)上面分析第Ⅲ類客戶的結(jié)果,可以得出:不論客戶職業(yè)是什么,只要年齡在25~50 歲之間,學(xué)歷為“初等教育”的客戶,都屬于Ⅲ類客戶。由于Ⅲ類客戶是企業(yè)目前利潤的重要來源,所以企業(yè)就要吸引和保持住與Ⅲ類客戶之間的客戶關(guān)系,需要把營銷策略更傾向于年齡在25~50歲之間的客戶,而對于在該區(qū)間之外的客戶,需要有選擇性地開展促銷方式,例如對其他職業(yè)的客戶,就要考慮大于50歲的情況。由于Ⅰ類客戶對企業(yè)的貢獻(xiàn)很小,分析的必要性不大,所以重點是對Ⅱ、Ⅲ和Ⅳ類客戶的分析。通過這種分析方式,逐步把通過ID3得出的樹狀結(jié)構(gòu)的所有分支都進(jìn)行分析,可以了解企業(yè)的同一價值客戶在特征屬性上的差異性。同理再對客戶的行為性指標(biāo)進(jìn)行分析,可以得出同一價值客戶在行為屬性上的差異性。結(jié)合這兩方面,就能夠在了解客戶價值類別的基礎(chǔ)上,有針對性地對不同客戶制定相應(yīng)的銷售策略,減少企業(yè)不必要的開銷,實現(xiàn)對客戶價值細(xì)分后的進(jìn)一步細(xì)分。
??? 如何高效地整合和分析企業(yè)各部門和各級分銷機(jī)構(gòu)內(nèi)的銷售和客戶信息,使企業(yè)能夠從全局的角度了解和認(rèn)識市場是CRM的重要任務(wù)之一,而基于決策樹的數(shù)據(jù)挖掘算法對于企業(yè)來說剛好可以實現(xiàn)這個任務(wù)。通過基于決策樹的客戶分類數(shù)據(jù)挖掘技術(shù),可以了解客戶的特征性指標(biāo)和行為性指標(biāo)與客戶所在客戶類別的關(guān)系[4],使企業(yè)能夠在了解何種資源組合可以使得自己獲得高利潤的同時,有針對性地根據(jù)客戶的差異化和多變性需求制定相應(yīng)的銷售策略,使得企業(yè)制定的營銷策略更加符合市場的需求,保持在市場中的競爭地位。
參考文獻(xiàn)
[1]? 張世海,劉曉燕,涂慶,等.基于決策樹的高層結(jié)構(gòu)智能選型知識發(fā)現(xiàn)[J] .哈爾濱工業(yè)大學(xué)學(xué)報, 2005,37(4):451-454.
[2]?崔立新,苑森森,趙春喜.約束性相聯(lián)規(guī)則發(fā)現(xiàn)方法及算法[J].計算機(jī)學(xué)報,2000,22(2):216-220.
[3]?李緒成,王保保.挖掘關(guān)聯(lián)規(guī)則中Apriori算法的一種改進(jìn)[J].計算機(jī)工程與應(yīng)用,2002,28(7):104-105.
[4]?魏定國,彭宏.基于知識網(wǎng)絡(luò)的數(shù)據(jù)挖掘[J].計算機(jī)科學(xué),2006,33(6):210-213.