2019年用戶流失分析(四)——Python實現

(3)、隨機森林模型

       隨機森林屬於一種集成算法,指的是利用多棵樹對樣本進行訓練並預測的一種分類器。隨機森林的混淆矩陣如表格 6所示。

表格 6

混淆矩陣表

predictedclass

類=0

類=1

actualclass

類=0

545(TP)

498(FN)

類=1

421(FP)

1185(TN)

       隨機森林的ROC曲線如圖 9所示。

圖 9

(4)、SVM模型

       支持向量機(support vector machine,SVM)已經是一種備受關注的分類技術。這種技術具有堅實的統計學理論基礎,並在許多實際應用(如手寫數字的識別、文本分類等)中展示了大有可爲的實踐效用。此外,SVM可以很好地應用於高維數據,避免了維災難問題。這種方法有個特點,它使用訓練的一個子集來表示決策邊界,該子集稱爲支持向量。

       爲了解釋SVM的基本思想,需要了解最大邊緣超平面的概念及選擇它的基本原理;在線性可分的數據上怎樣訓練一個線性的SVM,從而明確地找到這種最大邊緣超平面;將SVM方法擴展到非線性可分的數據上。本次SVM的混淆矩陣如表格 7所示。

表格 7

混淆矩陣表

predictedclass

類=0

類=1

actualclass

類=0

496(TP)

547(FN)

類=1

325(FP)

1281(TN)

       SVM的ROC曲線如圖 10所示。

圖 10

(5)、神經網絡模型

       神經網絡主要包括:神經信息處理的基本原理、感知器、反向傳播網絡、自組織網絡、遞歸網絡、徑向基函數網絡、核函數方法、神經網絡集成、模糊神經網絡、概率神經網絡、脈衝耦合神經網絡、神經場理論、神經元集羣以及神經計算機。神經網絡是通過對人腦或生物神經網絡的抽象和建模,它以腦科學和認知神經科學的研究成果爲基礎,拓展智能信息處理的方法,爲解決複雜問題和智能控制提供有效的途徑,是智能科學和計算智能的重要部分。

       神經網絡的混淆矩陣如表格 8所示。

表格 8

混淆矩陣表

predictedclass

類=0

類=1

actualclass

類=0

548(TP)

495(FN)

類=1

360(FP)

1246(TN)

       神經網絡的ROC曲線如圖 11所示。

圖 11

(6)、KNN分類模型

       鄰近算法,或者說K最近鄰(kNN,k-Nearest Neighbor)分類算法是數據挖掘分類技術中最簡單的方法之一。所謂K最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。近朱者赤,近墨者黑。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最近鄰)的樣本中大多數屬於某個類別,則該樣本也屬於這個類別。

       kNN算法雖然從原理上依賴於極限定理,但在類別決策時,只與極少量的相鄰樣本有關。由於kNN算法主要依靠有限的鄰近樣本,而不是靠判別類域的方法來確定所屬類別,因此對於類域的交叉或重疊較多的待分樣本集來說,kNN算法比其他算法更合適。

       行業應用:客戶流失預測、圖像識別、欺詐偵測等(更適合於稀有事件的分類問題)。

       KNN的K的選擇對於KNN模型的效果影響最大,這裏將K從1到30進行建模,圖 12可以看出選擇K爲10時,模型效果可以達到最佳。

圖 12

       KNN的混淆矩陣如表格 9所示。

表格 9

混淆矩陣表

predictedclass

類=0

類=1

actualclass

類=0

609(TP)

434(FN)

類=1

428(FP)

1178(TN)

       KNN的ROC曲線如圖 13所示。

圖 13

4.2 模型結果對比分析

       在通過聚類算法和各種分類算法構建用戶流失模型之後,模型的評價指標如表格 10所示。裏面分別計算了它們的準確率、精確率、召回率和F1值。

表格 10

模型

準確率(%

精確率(%

召回率(%

F1

kmean聚類

58.73

None

None

None

決策樹

68.02

71.48

78.64

74.89

隨機森林

65.31

70.41

73.79

72.06

SVM

67.08

70.08

79.76

74.61

神經網絡

67.72

71.57

77.58

74.45

KNN分類(K=13)

67.46

73.08

73.35

73.21

       同時計算各個模型的ROC曲線下的面積AUC :假設總共有(m+n)個樣本,其中正樣本m個,負樣本n個,總共有m*n個樣本對,正樣本預測爲正樣本的概率值大於負樣本預測爲正樣本的概率值記爲1,累加計數,然後除以(m*n)。發現各模型的AUC 均在AUC在0.7~0.8之間,都有一定準確性。

       綜合比較後,得出決策樹算法模型更合適後續的應用實現。

 

Python用戶流失系列文章一月一更!

 

文章未經博主同意,禁止轉載!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章