[摘 要]移動通信領域中的客戶信息挖掘是數據挖掘和商務智能領域中典型應用之一,具有較高研究意義和商業應用價值。在基于決策樹的數據分類算法基礎上,采用相異度計算原理進行分類,重點對移動通信客戶是否可能成長為高價值客戶的分類進行了研究。測試結果表明,本文所提出的組合分類方法是完全可行的。
[關鍵詞]數據挖掘 多分類器 決策樹 聚類算法
引言
數據挖掘作為一門新興的交叉學科,其對大規模數據的強大處理能力在許多領域都有著廣泛的應用。本文主要介紹數據挖掘技術在移動通信領域中的一個應用,主要任務是如何根據一個剛剛入網3個月的用戶屬性特征,預測其是否有可能發展成為移動通信公司的高價值客戶,以便有針對性地利用較小的客戶維護成本對客戶提前進行高效的維護。
本文首先采用了決策樹分類方法來對數據進行分類,以利用不同訓練集生成的決策樹共同對已知分類的測試集進行分類,并結合樣本數據本身的特征采用相異度算法對不確定的樣本進行再次分類。測試結果表明,本文所提出的方法是完全可行的。
一、決策分類及相異度算法
1. 決策樹分類算法基本原理。數據分類是數據挖掘中的一個基本問題,它通常可分為兩個階段:建模階段和評測階段。建模階段的主要任務是通過分析訓練集中樣本的特征,構建一個預測模型。這是整個分類過程中最為關鍵核心的部分,建模方法的好壞對分類效果起到了決定性的影響,在數據挖掘的幾個主要分類技術通常有:決策樹、Bayesian 模型、神經網絡模型等。
決策樹(Decision tree,也稱判定樹)是一個類似于流程圖的樹結構,其中每個內部節點表示在一個屬性上的測試,每個分枝代表一個測試輸出,而每個樹葉節點代表類或類分布。決策樹容易轉換成分類規則,路徑由根節點到存放該樣本預測的葉節點。
在樹的每個節點上使用信息增益度量選擇測試屬性。設S是s個數據樣本的集合。假定類標號屬性具有m個不同值,定義m個不同類Ci(i=1,…,m)。設si是類Ci中的樣本數。對一個給定的樣本分類所需的期望信息由下式給出:
其中,pi是任意樣本屬于Ci的概率,并用si/s估計。
設屬性A具有v個不同值{ a1, a2,…, av },可以用屬性A將S劃分為v個子集{ S1, S2,…, Sv };其中,Sj包含S中這樣一些樣本,它們在A上具有值aj。如果A選作測試屬性(即最好的分裂屬性),則這些子集對應于由包含集合S的節點生長出來的分枝。
2.聚類算法中相異度計算原理。聚類算法的基本思想是:所研究的對象中每個個體之間存在著程度不同的相似性(親疏關系),于是,根據眾多單位的多個觀測指標,找出能夠度量各單位之間相似程度的統計量,以此作為劃分類型的根據,把一些相似程度較大的單位聚合為一類,把另外一些彼此相似程度較大的單位又聚合在另一類,關系密切的聚合到一個小的分類單位,關系疏遠的聚合到一個大的分類單位,直到把所有單位都聚合完畢。然后把不同的類型一一劃分出來,形成一個由小到大的分類系統。最后再把整個分類系統畫成一張圖,用它把所有單位間的親疏關系表示出來。該方法是聚類中最常用、最基本的方法,稱為系統聚類法。
二、測試模型中的分類算法
本文測試中的分類算法可分為數據預處理、模型構建及模型測試分析這三個階段。
1.數據預處理。數據預處理階段的主要任務是:首先對數據進行抽取,然后對從數據庫中提取得到的原始數據進行整理,使其滿足數據挖掘的具體要求。其主要工作包括:對數據的轉換和整合、抽樣、隨機化、缺失值的處理、離散化處理等。通過對樣本的分析可以發現在近百個屬性中有許多屬性無論對于Y 或N 都是0(或基本上全是1),換句話說,某些屬性變量對于結果的預測是無用的,因此在測試時通過數據預處理可以去掉這些無用的屬性,可以明顯提高決策樹的構建效率。測試中通過這樣的預處理,候選屬性只剩下20個左右。
2. 模型構建。構建決策樹階段采用了第二節所介紹的決策樹構建算法,另外,在本文測試中,最終的分類算法并不是依據一棵決策樹,而是有多棵(10棵)不同的決策樹同時對同一已知的測試集進行分類。具體做法如下:(1)將11萬個號碼分成10組,每組為10萬個號碼,例如,第k組由第(k+0,k+1,k+2, k+3,…, k+99999)個號碼組成。(2)根據這10個組分別構建了10棵決策樹預測模型,再將這10棵決策樹分別對待測樣本進行分類預測。(3)只有當這多棵決策樹對某個號碼的測試得到同樣的結果時,才把其作為分類結果的最終判斷,由此分離出相對準確的預測類型,否則需要對該樣本進行再次分類。
3.模型測試分析。本文測試的環境是基于Win2000操作系統的PC機,CPU:Petiumn 4處理器,內存768M,硬盤容量40G,測試軟件工具:Oracle8i數據庫、Clementine8.1、SPSS等數據挖掘軟件工具。
本文測試中采用了10棵決策樹聯合分類方法和基于相異度的再次分類。10棵決策樹分別對11萬個樣本進行測試,并根據不確定的號碼與已知分類進行相似度匹配,而對于把這10 棵決策樹對相同的原訓練集進行分類,對于不一致結果采用服從多數的方法,正確率為85.41%(可能是由于過度匹配所造成的,很有可能造成模型適用度過小的現象)。把這10 棵決策樹同時對原訓練集(11萬個樣例)進行分類,對于不一致結果采用基于相異度的算法進行再次分類方法,正確率為83.10%。若修改為只對占多數的樣例進行再次分類的話,正確率為85.41%。
三、分析和討論
引入基于相異度的再次分類方法,主要目的是減小由于樣本數量差異所造成的決策偏差。由于在決策樹算法中,當沒有新的屬性可用來劃分當前的數據集時,將把占多數的類型作為該葉節點的類型,這樣某一個樣例很多的類型可能會對決策樹產生誤導,造成偏差。盡管正確率似乎有所下降,但這種現象主要是由于測試集與決策樹過于匹配造成的。在面對新的測試樣例時,這種使用相異度算法的再次分類還是有必要的。
結束語
本文針對傳統的單一分類方法存在的不足,將組合分類算法成功地應用于移動通信客戶信息挖掘實踐中,特別是采用決策樹分類及相異度測算相結合的方法對不確定事務進行再次分類。測試結果表明,本文所提出的組合分類算法在移動通信客戶信息挖掘領域是完全可行的,具有較好的實用價值。
參考文獻:
[1] Jiawei Han ,Micheline Kamber. Data Mining: concepts and techniques [M], Morgan Kaufman, 2000.
[2] Daniel Barbara. Using Self-Similarity to Cluster Large Data Sets [J]. Data Mining and Knowledge Discovery, 2003, 7:123~152
[3] Dharmendra S. Modha, W. Scott Spangler. Feature Weighting. k-Means Clustering [J]. Machine Learning, 2003, 52:217~237