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