用KNIME建立客戶流失模型
PMML是一種可以呈現預測分析模型的事實標準語言,用于呈現數據挖掘模型。預測分析模型采用定型過程中獲取的知識來預測新數據中是否有已知模式。PMML允許您在不同的應用程序之間輕松共享預測分析模型。因此,您可以在一個系統中定型一個模型,PMML中對其進行表達,然后將其移動到另一個系統中,并在該系統中使用上述模型預測機器失效的可能性等。
今天我們運用決策樹算法訓練一個客戶流失模型,進行“客戶流失”的預測分析。
結點概覽
讀取數據。這里讀取兩個數據文件,一個是通話數據和合約數據。接著講兩個數據以“電話號(PHONE NUMBER)”為關鍵字連接。
文件中有兩列數據,分別是“地區編號(AREA CODE)”和“流失情況(CHURN)”,我們不想將這兩列作為數值型數據處理,這里我們將其更改為字符型數據。
將流失與否(這里為布爾值)用顏色標注出來,設置數據為0時標藍色,數據為1時標紅色。
接著把數據分成80%的訓練集和20%的測試集。
至此完成數據預處理工作。
使用決策樹,依照不同的指標,對流失和存活客戶數進行分類。
首先使用日租費day charge將所有數據分為兩組,對于day charge =< 44.96的值再依據撥打客服電話數,劃分成兩組。以此類推,直至葉節點擁有最小不純度值。
然后將決策樹所得模型記錄為PMML語句,方便下次調用。
刪除屬于多數類的隨機行(如在這里流失客戶為少數項,存活客戶為多數),則我們隨機刪除一些多數項,使流失客戶和存活客戶數據量相同。接著輸入測試集和已得決策樹模型,應用決策樹算法對之前分出的80%測試數據進行預測。
通過ROC曲線可以看出,這個模型的預測準確度高達89.89%,是一個比較理想的模型。