工作中是否经常遇到这样的场景:业务部门希望通过营销活动来提高产品的销量,但是预算是有限的。在预算允许范围内,如何更多的提升转化率是每个从事数据分析、数据挖掘人员需要面临的问题。
本篇将以银行营销活动相关数据为例,手把手教大家如何识别客户是否有意愿购买该银行的产品,针对高意愿客户进行精准营销来提升转化率。废话不多说,下面开始详细介绍我们的解决方案。
数据中包含客户基本信息、活动行为信息。在实际场景中,如果有客户的偏好信息,参与活动历史信息等,也可以加入其中。
数据预处理
1、 数据查看
我们可以看到数据共计 25317 行,空数据暂无,详情如下:
2、数据预处理
对源数据进行观察,可以发现分类字段有'unknown'这个类别,此时将该类别也当作缺失值,进一步查看
通常对于缺失值的处理,最常用的方法无外乎删除法、替换法和插补法。
1)删除法是指将缺失值所在的观测行删除(前提是缺失行的比例非常低,如 5%以内),或者删除缺失值所对应的变量(前提是该变量中包含的缺失值比例非常高,如 70%左右)
2)替换法是指直接利用缺失变量的均值、中位数或众数替换该变量中的缺失值,其好处是缺失值的处理速度快,弊端是易产生有偏估计,导致缺失值替换的准确性下降
3)插补法则是利用有监督的机器学习方法(如回归模型、树模型、网络模型等)对缺失值作预测,其优势在于预测的准确性高,缺点是需要大量的计算,导致缺失值的处理速度大打折扣
这里观察到 contact 和 poutcome 的'unknow'类别分别达到 28.76%和 81.67%,在展示数据后考虑进一步处理,job 和 education 的 unknown 占比较小,考虑不对这两个特征的 unknow 进行处理。
数据分析
下面我们对源数据进行数据分析,数据字段分为离散变量和连续变量,下面我们将逐一进行分析。
1、离散变量
通过可视图我们可以对每个特征情况进行初步观察,方便分析这些特征是否会影响购买率。
2、连续变量
1)age 年龄
从上图我们可以看出两类客户的购买年龄分布差异不大;
2)balance 每年账户的平均余额
3)duration 最后一次联系的交流时长
4)campaign 在本次活动中,与该客户交流过的次数
5)pdays 距离上次活动最后一次联系该客户,过去了多久(999表示没有联系过)
6)previous 在本次活动之前,与该客户交流过的次数
特征工程
通过上述对每个特征进行数据分析,我们对数据有了大致了解,下面我们从数据平衡性、数据标准化等角度进行特征工程处理。
1、从训练集查看是否平衡数据集
我们可以看到是9:1,数据集是不平衡数据集
2、连续变量即数值化数据做标准化处理
3、分类变量做编码处理
4、不平衡数据集处理
数据建模
为了方便讲解,本篇使用逻辑回归进行数据分析建模,在实际工作场景中,我们可以使用随机森林、lgb、xgboost、DNN等模型都是可以的,根据具体场景和建模效果进行选择。
roc-auc曲线
上面我们进行了数据训练、数据预测、模型性能评估等操作。
结论
至此,业务方提出的场景问题,我已给出了解决方案,接下来就是模型迭代优化了。
填写下面表单即可预约申请免费试听!怕钱不够?可先就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可推荐就业!
©2007-2022/ www.aaa-cg.com.cn 北京漫动者数字科技有限公司 备案号: 京ICP备12034770号 监督电话:010-53672995 邮箱:bjaaa@aaaedu.cc