共计 2523 个字符,预计需要花费 7 分钟才能阅读完成。
原文链接:http://tecdat.cn/?p=26982
简介
客户散失 / 散失,是企业最重要的指标之一,因为获取新客户的老本通常高于保留现有客户的老本。
事实上,依据一个 study by Bain & Company,随着工夫的推移,现有客户偏向于从公司购买更多产品,从而升高企业的经营老本,并可能将他们应用的产品举荐给其他人。例如,在金融服务畛域,客户保留率每减少 5%,利润就会减少 25% 以上。
通过应用生存剖析,公司不仅能够预测客户是否可能进行开展业务,还能够预测该事件何时产生。
数据集
形容和概述
团队想要应用的数据集蕴含以下性能:
从分类到数值
有几个分类特色须要编码为 one-hot 向量:
# 创立向量
dtset = pd.get_dummies(rawdaset, columns=caegres)
# 创立工夫和事件列
timeolun = 'onth_tive
ent_clmn = 'chuned'(事件列)。# 提取特色
特色 = np.setdiff1d(daaet.oums, \[tie_olmn,\] ).tolist()
探索性数据分析
在这里,咱们将只检查数据集是否蕴含 Null 值或是否有反复的行。而后,咱们将看看特色相关性。
空值和反复
首先要做的是查看 raw_dataset 是否蕴含 Null 值和反复的行。
# 查看是否为空值
Null = sum(dtaet\[feaues\].isnull().sum())
# 如果存在反复的数据,则将其删除
daast = datt.drop\_duplicates(keep='first').reset\_index(drop=True)
# 数据集中的样本数
N = det.shape\[0\]。
事实证明,数据集没有任何 Null 值或反复项。
相关性
让咱们计算和可视化特色之间的相关性
图 1 – 相关性
建模
构建模型
为了稍后执行穿插验证并评估模型的性能,让咱们将数据集拆分为训练集和测试集。
# 建设训练和测试集
dex\_train, index\_test = train\_test\_split(range(N), test_size = 0.35)
# 创立 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\]
留神:超参数的抉择是应用网格搜寻抉择取得的。
# 拟合模型
cf.fit(\_trai, T\_tra, \_tain, ax\_eatrs='sqrt',
变量重要性
建设生存森林模型后,咱们能够计算特色重要性:
# 计算变量的重要性
sf.vaialeipotanetle.head(5)
这是最重要的性能中的前 5 个。
因为性能的重要性,咱们能够更好地理解是什么推动了保留或散失。在这里,会计和薪资治理产品、满意度考察得分以及与客户反对通话的工夫都施展着重要作用。
留神:重要性是扰动和未扰动错误率之间的预测误差差别
穿插验证
为了评估模型性能,咱们之前将原始数据集拆分为训练集和测试集,以便咱们当初能够在测试集上计算其性能指标:
C-index
这 C -index 代表模型分别能力的全局评估: 这是模型依据个体危险评分正确提供生存工夫牢靠排名的能力 。一般来说,当 C-index 靠近 1 时,模型具备近乎完满的判断力;但如果靠近 0.5,则没有辨别低危险和高风险对象的能力。
Brier score
这 Brier score 测量给定工夫状态和预计概率之间的均匀差别。 因而,分数越低(_通常低于 0.25_),预测性能就越好。为了评估跨多个工夫点的整体误差测量,通常还计算综合 Brier 分数 (IBS)。
图 2 – 条件生存森林 – Brier 分数和预测误差曲线
IBS 在整个模型时间轴上等于 0.13。这表明该模型将具备良好的预测能力。
预测
总体预测
既然咱们曾经建设了一个仿佛能够提供杰出性能的模型,让咱们比拟每个工夫 t 进行与 SaaS 公司开展业务的理论客户数量和预测客户数量的工夫序列。
comroal(cf, X\_tst, T\_tst, E_tst
图 3 – 条件生存森林 – 散失的客户数量
该模型总体上提供了十分好的后果,因为在整个 12 个月的窗口中,它只会产生约 5 个客户的均匀绝对误差。
集体预测
让咱们计算在 所有工夫 t 中保留客户的概率 。
首先,咱们能够依据危险评分散布构建危险组。
cree\_rskups(oel=csf, X=X\_test
图 4 – 条件生存森林 – 危险组
在这里,能够辨别 3 个次要群体,_低_危险、_中_危险 和 _高_ 危险群体。因为 C 指数较高,模型将可能对每组随机单元的生存工夫进行适当的排序。
让咱们随机抉择每组中的单个单元,并比拟它们在所有工夫 t 中保留客户的概率。为了证实咱们的观点,咱们将特意抉择经验过事件的单位来可视化事件的理论工夫。
图 5 – 条件生存森林 – 预测集体保留客户的概率
在这里,咱们能够看到该模型设法提供了对事件工夫的杰出预测。
论断
咱们当初能够保留咱们的模型,以便将其投入生产并为将来的客户评分。
总之,咱们能够看到,能够预测客户在不同工夫点进行与公司开展业务的工夫。该模型将帮忙公司在留住客户方面更加积极主动;并更好地理解导致客户散失的起因。
最受欢迎的见解
1.PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯模型和 KMEANS 聚类用户画像
2.R 语言基于树的办法:决策树,随机森林
3.python 中应用 scikit-learn 和 pandas 决策树
4. 机器学习:在 SAS 中运行随机森林数据分析报告
5.R 语言用随机森林和文本开掘进步航空公司客户满意度
6. 机器学习助推快时尚精准销售工夫序列
7. 用机器学习辨认一直变动的股市情况——隐马尔可夫模型的利用
8.python 机器学习:举荐零碎实现(以矩阵合成来协同过滤)
9.python 中用 pytorch 机器学习分类预测银行客户散失