r聚類演算法
❶ 客戶分群
一、什麼是客戶分群?
將現有消費群體按一定規則分成若干個特徵鮮明的小群體,從而使得:
* 不同組別間特徵差異明顯;
* 同一群組內客戶特徵相似。
二、為什麼要客戶分群?
* 客戶群體分化,大眾化營銷失去優勢,精準化營銷逐漸被認可;
* 可深入了解客戶,提升消費者對品牌的黏性,提升銷售的效率和效益;
* 減少不必要的營銷經費和花費。
三、聚類演算法:
1、層次聚類:
(1)過程:個體兩兩聚合(樣本間距離)--小群體兩兩合並(群體間距離)--較大群體兩兩聚合(群體間距離)--形成一個大群體;
(2)優缺點:
a、不足:由於反復計算距離,運算速度較慢;
b、優點:
* 可以是分類或連續性變數
* 既可對變數聚類(R型聚類),也可對記錄聚類(Q型聚類)
* 一次運行即可得到完整的分類序列
2、K-means聚類
(1)含義:將所有觀測分成k個群體,是的群體間距離盡量大,同時群體內部的觀測液襪櫻的『距離和』最小,由於運算簡單,因此是目前流行的聚類方法。
(2)聚類步驟:設好襪定要分群的組數(K)--隨機每組的中心--逐一計算每一記錄到各組中心點的距離,將離中心最近的個體歸到對應的組--重新計算均值,以此作為再次迭代的中心--用新的中心點重新對個體進行歸組,及重復前面兩步驟,直到達到要求
(3)優缺點:
a、優點:
* 速度快於層次聚類
* 內存佔用小
b、不足:
* 只能對記錄聚類,不能對變數聚類。
* 對初始聚類中心有一定的依賴性
* 由於要事先選定聚類數,所以要嘗試多次,以找出最佳聚類。
2、EM演算法:
(1)含義:最大期望(EM)演算法是在概率模型中尋找參數最大似然估計,或最大後驗估計的演算法,其中概率模型依賴於無法觀測的隱含變數。
(2)兩步驟:
a、E步(Expectation)根據參數初始值或上一次迭代的模型參數來計算出隱含變數的後驗概率,其實就是隱含變數的期望,作為隱含變數的現估計值。
b、M步(Maximization)將似然函數最大化以獲得新的參數值。
注意:似然函數最大化指組內距離平方和最小。
四、距離計算:
1、樣本間距離計算:
(1)通用公式:閔可夫斯基距離
(2)歐式距離,即直線距離,p=2
(3)曼哈頓距鬧叢離,折線距離,大於歐氏距離,p=1
(4)切比雪夫距離,p趨向無窮大,選最大距離
2、群體間距離
(1)最短距離法,指組間最近兩個樣本點的距離
(2)最長距離法,指組間最遠兩個樣本點的距離
(3)重心法,群體先平均再求距離
(4)類平均法,群體先求距離再平均
五、變數選擇:
1、基於業務場景選擇變數
2、變數間相關性盡量低(無共線性),根據VIF和R square
3、具體可從人口統計學(個人信息數據)、商家的消費者數據(通過RFM衍生變數)、第三方行為數據(消費者的需求和興趣)三個方面進行選擇
六、如何預處理變數?
1、填充缺失值
首先確認是否錯誤,是否是零值;如果不是,Category可根據情況進行填充,Numeric數據可先Quantile,再用均值、中位數、線性插值等填充。
2、異常值處理
可用Caping-Floor將數據達到95%以內,(除非異常值有價值,需單獨處理)
3、字元型變數轉換處理
比如male 0,female 1
4、標准化(統一量綱),量綱不一致為導致距離計算的偏差
方法一:Z-Score標准化
sed(X)=(X-Xcap)/Sp
方法二:離差標准化
(x-min(x))/(max(x)-min(x))
七、初始中心點的選擇
(1)選擇彼此距離盡可能遠的點作為中心點;
(2)先通過采樣,基於層次聚類確定K個簇,以簇的中心點作為K-means的中心點輸入
(3)多次隨機選擇中心點訓練K-means,選擇效果最好的聚類
❷ 5.2.2 K-Mean聚類演算法
K-Means演算法是典型的基於距離的非層次聚類演算法,在最小化誤差函數的基礎上將數據換分為預定的類數K,採用距離作為相似性的評價指標,即認為兩個對象的距離越近,其相似度就越大。
演算法過程
連續屬性
要先對各個屬性值進行 零 - 均值規范,再進行距離計算。在K-Means中聚類演算法中,一般需要度量樣本之間的距離、樣本與簇之間的距離、簇與簇之間的距離
零-均值規范化
也稱為標准差標准化,經過處理的數據的均值為0,標准差為1。
轉化公式: 當前使用最多的數據標准化方法
實踐中,為得到較好的結果,通常選擇不同初始聚類中心,多次運行K-Means演算法。
在所有對象分配晌渣慎完成後,重新計算K個聚類的中心時,對於連續數據,聚類中心取該簇的均值,但當樣本的某些屬性是分類變數時,均值可能無定義,可梁敬以使用K-眾數方法。宴敬
使用誤差平法和SSE(sum of squared errors)作為度量聚類質量的目標函數,對於兩種不同的聚類結果,選擇誤差平方和較小的分類結果
總結
分群1特點:R間隔相對較大,主要集中在30 80天;消費次數集中在0 15次;消費金額在:0~2000;
分群2特點:R間隔相對較小,主要集中在0 30天;消費次數集中在0 10次;消費金額在:0~1800;
分群3特點:R間隔相對較小,主要集中在0 30天;消費次數集中在10 25次;消費金額在:500~2000;
對比分析
分群3時間間隔短,消費次數多,消費金額大,是高消費、高價值人群。
分群2時間間隔、消費次數、消費金額中等水平,代表著一般價值客戶。
分群1時間間隔長、消費次數較少、消費金額不是特別高,價值較低的客戶群體。
❸ 常用的聚類方法有哪幾種
聚類分析的演算法可以分為劃分法、層次法、基於密度的方法、基於網格的方法、基於模型的方法。
1、劃分法,給定一個有N個元組或者紀錄的數據集,分裂法將構造K個分組,每一個分組就代表一個聚類,K<N。
2、層次法,這種方法對給定的數據集進行層次似的分解,直到某種條件滿足為止。
3、基於密度的方法,基於密度的方法與其它方法的一個根本區別是:它不是基於各種各樣的距離的,而是基於密度的。這樣就能克服基於距離的演算法只能發現「類圓形」的聚類的缺點。
4、圖論聚類方法解決的第一步是建立與問題相適應的圖,圖的節點對應於被分析數據的最小單元,圖的邊(或弧)對應於最小處理單元數據之間的相似性度量。
5、基於網格的方法,這種方法首先將數據空間劃分成為有限個單元的網格結構,所有的處理都是以單個的單元為對象的。
6、基於模型的方法,基於模型的方法給每一個聚類假定一個模型,然後去尋找能夠很好的滿足這個模型的數據集。
(3)r聚類演算法擴展閱讀:
在商業上,聚類可以幫助市場分析人員從消費者資料庫中區分出不同的消費群體來,並且概括出每一類消費者的消費模式或者說習慣。
它作為數據挖掘中的一個模塊,可以作為一個單獨的工具以發現資料庫中分布的一些深層的信息,並且概括出每一類的特點,或者把注意力放在某一個特定的類上以作進一步的分析;並且,聚類分析也可以作為數據挖掘演算法中其他分析演算法的一個預處理步驟。
許多聚類演算法在小於 200 個數據對象的小數據集合上工作得很好;但是,一個大規模資料庫可能包含幾百萬個對象,在這樣的大數據集合樣本上進行聚類可能會導致有偏的結果。
許多聚類演算法在聚類分析中要求用戶輸入一定的參數,例如希望產生的簇的數目。聚類結果對於輸入參數十分敏感。參數通常很難確定,特別是對於包含高維對象的數據集來說。這樣不僅加重了用戶的負擔,也使得聚類的質量難以控制。