[摘 要] 會員制超市的客戶數據直接反映了客戶的購買行為,對其研究可以了解客戶的特點和偏好。使用Weka系統,運用分類分析中的不同算法對會員制超市的客戶數據進行分析,得到了一些有益的分析結果,對會員制超市管理人員更好的了解用戶,并制定出有益于企業的決策有重要意義。
[關鍵詞] Weka 客戶分類 決策樹 貝葉斯 支持向量機1
根據著名的二八法則,企業80%的利潤來源于20%的客戶,所以,對于企業而言,對客戶進行細分,并分析不同類別客戶的特點和偏好,以采取不同的管理措施是很重要的。數據挖掘技術可以幫助企業分析其海量的客戶數據,獲得有用的客戶信息。FoodMart是美國一家大型的連鎖會員制超市,以會員制作為基本的銷售和服務方式。本文采用理論與實踐相結合的研究方法,應用Weka中的分類技術,依據FoodMart會員制超市的客戶數據,挖掘數據庫中隱含的客戶分類信息。
一、Weka及相關算法簡介
Weka的全名是懷卡托智能分析環境,是一款免費的,非商業化的,基于JAVA環境下的,開源的數據挖掘軟件。Weka集合了大量的數據挖掘算法,可以實現數據預處理、屬性選擇、關聯分析、分類分析、回歸、聚類分析等功能,同時還提供了數據可視化功能。Weka系統得到了廣泛的認可,是現今最完備的數據挖掘工具之一。
決策樹算法通過應用簡單的決策規則,建立樹狀圖,可用于分類分析和預測。C4.5決策樹算法是數據挖掘領域的經典算法,它構造簡單,速度較快,產生的分類規則易于理解,準確率較高。Weka的J48決策樹模型是對Quinlan的C4.5決策樹算法的實現,并加入了比較好的剪枝過程,有非常好的精度。
隨機森林算法生成k個決策樹組成隨機森林,其輸出的類別是由k個決策樹輸出的類別的眾數而定。隨機森林算法可以評估變量的重要性,處理大量的輸入變量,準確率較高。Weka的隨機森林模型放在決策樹分類器之中。
貝葉斯分類器的分類原理是通過某對象的先驗概率,利用貝葉斯公式計算出其后驗概率,即該對象屬于某一類的概率,選擇具有最大后驗概率的類作為該對象所屬的類。Weka的貝葉斯分類器有樸素貝葉斯和貝葉斯信念網絡等。
支持向量機屬于一般化線性分類器,能夠同時最小化經驗誤差與最大化幾何邊緣區。它將向量映射到一個更高維的空間里,在這個空間里尋找分類最佳的平面,即使得屬于兩個不同類的數據點間隔最大的那個面。支持向量機的SMO(序列最小優化)算法大大提高了支持向量機學習的效率,得到了廣泛的應用。
二、數據預處理
Customer表文件中共有12000余條記錄,我們從其中抽取2999條記錄用于挖掘客戶分類信息。表文件是mdb文件,Weka系統不支持,我們要進行文件格式的轉變,將mdb文件先轉換成csv格式,導入Weka系統中,然后再另存為weka的文件格式即arff格式。
在進行數據挖掘時,并不是所有的屬性都和挖掘任務相關,比如進行客戶分類分析時的客戶ID屬性。在進行數據挖掘之前,先把和挖掘任務不相關的屬性去除有助于提高數據挖掘的效率,節省挖掘的時間。選用Weka系統中的屬性選擇工具,搜索算法選擇Random Search方法,經屬性選擇后相關的屬性如表1所示。
此外,Weka系統中的部分分類分析算法要求屬性必須是nominal(名詞型)數據類型的,所以需要將部分numeric(數值型)的屬性進行離散化,然后轉換成nominal類型。
表1 客戶分析的屬性選擇
屬性意義
marital-status婚姻狀況
yearly-income年收入
num_children_at_home在家的子女數
education教育水平
occupution職業
num-cars-owned擁有汽車數
三、模型構建
分別使用Weka系統中的決策樹分類器、貝葉斯分類器、支持向量機分類器對客戶數據進行學習訓練,并采用10-fold交叉驗證測試算法的準確性。根據應用經驗,主要參數設置為:決策樹分類器中選擇J48算法(即C4.5算法)和隨機森林算法,J48算法的confidenceFactor =0.25,minNumOjb = 2 ,numFolds=3,Seed=1;隨機森林算法的numFeatures=0,numTrees=10,seed=1;貝葉斯分類器采用貝葉斯信念網絡算法,分析時的參數選用默認設置;支持向量機分類器采用SMO算法,選擇PolyKernel核函數。
表2 算法正確率比較
算法正確率
C4.5決策樹算法81.994%
隨機森林78.0927%
貝葉斯信念網絡81.0937%
SMO算法81.8273 %
表2是四種算法的模型訓練結果,由表2可以看出,C4.5決策樹算法、貝葉斯信念網絡和SMO算法的正確率較高,其中又以C4.5決策樹算法的正確率最高。和其他三種算法相比,隨機森林在正確率方面稍微遜色。這可能跟我們做了屬性刪除導致剩余的屬性個數比較少有關系。
四、客戶分類結果分析
通過對C4.5決策樹算法得到的決策樹進行分析,我們得到以下會員制超市客戶分類的信息:
1.年收入為10000美元至30000美元的客戶是普通卡客戶。
2.在年收入30000美元至150000美元的客戶群中,客戶的消費水平隨子女數的增加而增加,即消費水平與子女數成正比,當在家的子女數在兩個及兩個以下時,客戶基本以持銅卡為主,而當子女達到及超過3個時,基本以持金卡為主。
3.年收入超過150000的高收入客戶,其消費水平和其婚姻狀態密切相關,其中已婚的客戶多是金卡客戶,而未婚的客戶多是銀卡客戶,已婚客戶的消費水平要高于未婚客戶。
五、結論
本文基于Weka平臺,使用決策樹c4.5、隨機森林、貝葉斯信念網絡和支持向量機SMO等不同算法,挖掘出會員制超市客戶的分類特征。挖掘結果對會員制超市管理人員更好的了解用戶,并制定出有益于企業的決策有重要意義。
參考文獻:
[1]威滕 弗蘭克: 數據挖掘:實用機器學習技術[M].北京:機械工業出版社,2006
[2]LEO BREIMAN. Random Forests[J]. Machine Learning,2001,45:5–32
[3] Jiawei Han, Micheline Kamber.數據挖掘概念與技術[M].北京:機械工業出版社,2006