午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

PYTHON條件生存森林模型CONDITIONAL SURVIVAL FOREST分類預(yù)測(cè)客戶流失交叉驗(yàn)證可視化|數(shù)據(jù)分享

 拓端數(shù)據(jù) 2022-05-30 發(fā)布于上海

原文鏈接:http:///?p=26982 

簡(jiǎn)介

客戶流失/流失,是企業(yè)最重要的指標(biāo)之一,因?yàn)楂@取新客戶的成本通常高于保留現(xiàn)有客戶的成本。

事實(shí)上,根據(jù)一個(gè) study by Bain & Company,隨著時(shí)間的推移,現(xiàn)有客戶傾向于從公司購買更多產(chǎn)品,從而降低企業(yè)的運(yùn)營成本,并可能將他們使用的產(chǎn)品推薦給其他人。例如,在金融服務(wù)領(lǐng)域,客戶保留率每增加 5%,利潤就會(huì)增加 25% 以上。

通過使用生存分析,公司不僅可以預(yù)測(cè)客戶是否可能停止開展業(yè)務(wù),還可以預(yù)測(cè)該事件何時(shí)發(fā)生。


數(shù)據(jù)集

描述和概述

團(tuán)隊(duì)想要使用的數(shù)據(jù)集查看文末了解數(shù)據(jù)獲取方式包含以下變量

從分類到數(shù)值

有幾個(gè)分類特征需要編碼為 one-hot 向量:

# 創(chuàng)建向量

dtset = pd.get_dummies(rawdaset, columns=caegres)

# 創(chuàng)建時(shí)間和事件列
timeolun = 'onth_tive
ent_clmn = 'chuned' (事件列)。

# 提取特征
特征 = np.setdiff1d(daaet.oums, \[tie_olmn,\] ).tolist()

探索性數(shù)據(jù)分析

在這里,我們將只檢查數(shù)據(jù)集是否包含 Null 值或是否有重復(fù)的行。然后,我們將看看特征相關(guān)性。

空值和重復(fù)

首先要做的是檢查 raw_dataset 是否包含 Null 值和重復(fù)的行。

# 檢查是否為空值
Null = sum(dtaet\[feaues\].isnull().sum())

# 如果存在重復(fù)的數(shù)據(jù),則將其刪除
daast = datt.drop\_duplicates(keep='first').reset\_index(drop=True)

# 數(shù)據(jù)集中的樣本數(shù)
N = det.shape\[0\] 。

事實(shí)證明,數(shù)據(jù)集沒有任何 Null 值或重復(fù)項(xiàng)。

相關(guān)性

讓我們計(jì)算和可視化特征之間的相關(guān)性

圖 1 - 相關(guān)性


點(diǎn)擊標(biāo)題查閱往期內(nèi)容

PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機(jī)森林、決策樹、支持向量機(jī)、樸素貝葉斯和KMEANS聚類用戶畫像

左右滑動(dòng)查看更多

01

02

03

04


建模

構(gòu)建模型

為了稍后執(zhí)行交叉驗(yàn)證并評(píng)估模型的性能,讓我們將數(shù)據(jù)集拆分為訓(xùn)練集和測(cè)試集。

# 建立訓(xùn)練和測(cè)試集
dex\_train, index\_test = train\_test\_split( range(N), test_size = 0.35)

# 創(chuàng)建X、T和E輸入
X\_tain, Xtst = daa\_ain\[ftures\], datts\[fees\]
T\_tin, T\_tst = daa\_rain\[ie\_olumn\], dta\_est\[tme\_olumn\]
E\_tain, \_tst = daa\_tain\[vent\_cumn\], dattet\[evet_lumn\]

注意:超參數(shù)的選擇是使用網(wǎng)格搜索選擇獲得的。

# 擬合模型
cf.fit(\_trai, T\_tra, \_tain, ax\_eatrs='sqrt',

變量重要性

建立生存森林模型后,我們可以計(jì)算特征重要性:

# 計(jì)算變量的重要性
sf.vaialeipotanetle.head(5)

這是最重要的變量中的前 5 個(gè)。

由于變量的重要性,我們可以更好地了解是什么推動(dòng)了保留或流失。在這里,會(huì)計(jì)和薪資管理產(chǎn)品、滿意度調(diào)查得分以及與客戶支持通話的時(shí)間都發(fā)揮著重要作用。

注意:重要性是擾動(dòng)和未擾動(dòng)錯(cuò)誤率之間的預(yù)測(cè)誤差差異


交叉驗(yàn)證

為了評(píng)估模型性能,我們之前將原始數(shù)據(jù)集拆分為訓(xùn)練集和測(cè)試集,以便我們現(xiàn)在可以在測(cè)試集上計(jì)算其性能指標(biāo):

 C-index

這C-index代表模型辨別能力的全局評(píng)估: 這是模型根據(jù)個(gè)體風(fēng)險(xiǎn)評(píng)分正確提供生存時(shí)間可靠排名的能力。一般來說,當(dāng) C-index 接近 1 時(shí),模型具有近乎完美的判別力;但如果接近0.5,則沒有區(qū)分低風(fēng)險(xiǎn)和高風(fēng)險(xiǎn)對(duì)象的能力。

Brier score

這Brier score測(cè)量給定時(shí)間狀態(tài)和估計(jì)概率之間的平均差異。 因此,分?jǐn)?shù)越低(_通常低于 0.25_),預(yù)測(cè)性能就越好。為了評(píng)估跨多個(gè)時(shí)間點(diǎn)的整體誤差測(cè)量,通常還計(jì)算綜合 Brier 分?jǐn)?shù) (IBS)。

圖 2 - 條件生存森林 - Brier 分?jǐn)?shù)和預(yù)測(cè)誤差曲線

IBS 在整個(gè)模型時(shí)間軸上等于 0.13。這表明該模型將具有良好的預(yù)測(cè)能力。


預(yù)測(cè)

總體預(yù)測(cè)

既然我們已經(jīng)建立了一個(gè)似乎可以提供出色性能的模型,讓我們比較每個(gè)時(shí)間 t 停止與 SaaS 公司開展業(yè)務(wù)的實(shí)際客戶數(shù)量和預(yù)測(cè)客戶數(shù)量的時(shí)間序列。

comroal(cf, X\_tst, T\_tst, E_tst

圖 3 - 條件生存森林 - 流失的客戶數(shù)量

該模型總體上提供了非常好的結(jié)果,因?yàn)樵谡麄€(gè) 12 個(gè)月的窗口中,它只會(huì)產(chǎn)生約 5 個(gè)客戶的平均絕對(duì)誤差。


個(gè)人預(yù)測(cè)

讓我們計(jì)算在 所有時(shí)間 t 中保留客戶的概率

首先,我們可以根據(jù)風(fēng)險(xiǎn)評(píng)分分布構(gòu)建風(fēng)險(xiǎn)組。

cree\_rskups(oel=csf, X=X\_test

圖 4 - 條件生存森林 - 風(fēng)險(xiǎn)組


在這里,可以區(qū)分 3 個(gè)主要群體, 低_風(fēng)險(xiǎn)、 _中_風(fēng)險(xiǎn) 和 _高 風(fēng)險(xiǎn)群體。由于 C 指數(shù)較高,模型將能夠?qū)γ拷M隨機(jī)單元的生存時(shí)間進(jìn)行適當(dāng)?shù)呐判颉?/p>

讓我們隨機(jī)選擇每組中的單個(gè)單元,并比較它們?cè)谒袝r(shí)間 t 中保留客戶的概率。為了證明我們的觀點(diǎn),我們將特意選擇經(jīng)歷過事件的單位來可視化事件的實(shí)際時(shí)間。

圖 5 - 條件生存森林 - 預(yù)測(cè)個(gè)人保留客戶的概率

在這里,我們可以看到該模型設(shè)法提供了對(duì)事件時(shí)間的出色預(yù)測(cè)。


結(jié)論

我們現(xiàn)在可以保存我們的模型,以便將其投入生產(chǎn)并為未來的客戶評(píng)分。

總之,我們可以看到,可以預(yù)測(cè)客戶在不同時(shí)間點(diǎn)停止與公司開展業(yè)務(wù)的時(shí)間。該模型將幫助公司在留住客戶方面更加積極主動(dòng);并更好地了解導(dǎo)致客戶流失的原因。

數(shù)據(jù)獲取

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多