原文:
www.kdnuggets.com/2018/12/data-science-projects-business-impact.html
作者:约翰·沙利文, DataOptimal
找工作并不容易,你需要让自己脱颖而出。
1. Google 网络安全证书 - 快速进入网络安全职业道路
2. Google 数据分析专业证书 - 提升你的数据分析能力
3. Google IT 支持专业证书 - 支持你组织的 IT 需求
我喜欢的一种策略是建立展示业务影响的投资组合项目。
预测花卉类型可能对初学者有用,但在现实世界中,你将直接或间接地处理一些针对业务方面的工作。
我将逐步讲解如何构建一个在 R 中预测客户流失的模型,以展示显著的业务影响。
以下是过程的简要概述:
-
确定项目范围
-
准备数据
-
适配模型
-
进行预测
-
展示业务影响
-
确定项目范围
在任何实际的数据科学项目开始时,你需要通过提出一系列问题来开始。
以下是几个好的开始:
-
你试图解决什么问题?
-
你的潜在解决方案是什么?
-
你将如何评估你的模型?
假设你在电信行业工作,并且你可以访问客户数据。你的老板来找你,问道,“我们如何利用现有数据改善业务?”这问题相当模糊,所以这是我如何回答上述问题来制定策略以回答老板问题的方式:
你试图解决什么问题?
在查看了你的数据后,你注意到获取新客户的成本是留住现有客户的五倍。现在更具体的问题是,“我们如何提高客户留存率以降低成本?”
你的潜在解决方案是什么?
为了提高客户留存率,我们需要识别潜在的不满客户。如果我们能在客户生命周期的早期进行干预,我们可以提供折扣或替代服务,试图阻止不满客户流失。由于我们有客户数据的访问权限,我们可以构建一个机器学习模型,尝试预测可能会流失的不满客户。为了简化,我们将只使用逻辑回归模型。
你将如何评估你的模型?
我们将使用一系列机器学习评估指标(ROC,AUC,灵敏度,特异性)以及以业务为导向的指标(成本节约)。
- 准备数据
下一步是准备数据。
这个工作流程会因项目而异,但在我们的示例中,我将使用以下工作流程:
-
导入数据
-
快速查看
-
清理数据
-
拆分数据
我省略了完整的探索阶段,因为我希望未来专门写一篇文章来讨论它。探索阶段与建模阶段一样重要,甚至更重要。
要查看包含所有步骤的完整代码,请查看原始帖子。这里是 R 语言中前两步的快速快照:
虽然未显示,但在清理步骤中,我使用中位数填补了缺失值。这是一种简单的方法,但你绝对应该查看更严格的统计方法。
在最后一步,我将数据拆分为训练集和测试集,分别使用 75%和 25%的数据。这总是一个好的做法,有助于防止过拟合。
- 拟合模型
为了实现逻辑回归模型,我们将使用广义线性模型(GLM)函数,即 GLM。
有不同类型的广义线性模型,其中包括逻辑回归。为了指定我们要执行二元逻辑回归,我们将使用参数“family=binomial”。
- 进行预测
现在我们已经拟合了模型,是时候看看它的表现如何了。
为此,我们将使用“测试”数据集进行预测。我们将传入前一节的“拟合”模型。为了预测概率,我们将指定“type=response”。
我们将设置响应阈值为 0.5,因此如果预测概率高于 0.5,我们将把这个响应转换为“是”。
下一步是将字符响应转换为 因子类型。这样可以确保编码对于逻辑回归模型是正确的。
我们稍后将更详细地查看阈值,所以不用担心为什么我们设置为 0.5。
最终步骤是评估我们的模型。
一个有用的工具是混淆矩阵。它显示了每个类别的正确和错误预测的数量。
敏感性(真实正类率)和 特异性(真实负类率)也是“confusionMatrix”函数报告的有用指标。
另一个有用的指标是 接收者操作特征(ROC)曲线下面积,也称为 AUC。
ROC 是一个很好的工具,因为它绘制了真实正类率(TPR)与假正类率(FPR)在阈值变化时的关系。以下是如何使用“ROCR”库来绘制它:
使用此图的一个有用方法是计算曲线下面积,也称为 AUC。AUC 的值范围从 0 到 1,1 为最佳。以下是计算 AUC 的 R 代码:
我们的模型的 AUC 为 0.85,这相当不错。如果我们只是随机猜测,我们的 ROC 将是 45 度的直线。这将对应于 AUC 为 0.5。至少,我们的表现优于随机猜测,所以我们知道我们的模型至少添加了一些价值!
- 展示业务影响
最终步骤是将我们迄今为止所做的一切转化为业务影响。
让我们先对成本做一些假设。我们假设在电信行业获取新客户的成本是 $300。我们之前提到的数据表明,获取新客户的成本是保留现有客户的五倍,所以我们的保留成本将是 $60。
这是这些成本与四种预测类型相关的简要总结:
-
错误负类(预测客户不会流失,但实际上他们会):$300
-
真正正类(预测客户会流失,并且他们确实会):$60
-
假正类(预测客户会流失,但实际上他们不会):$60
-
真阴性(预测客户不会流失,而他们确实不会流失):$0
如果我们将每种预测类型的数量乘以相关成本并求和,我们得到以下成本公式:
成本 = FN($300) + TP($60) + FP($60) + TN($0)
让我们计算在不同阈值(0.1, 0.2, 0.3,…,0.9, 1.0)下每位客户的成本。在初始化阈值向量“thresh”后,我可以循环遍历每个阈值并进行预测。由于我在按客户计算成本,因此我将按测试集中的总数据点数量进行除法。
最后,我将结果放入数据框中,连同我称之为“简单”模型的内容。这是我们之前的逻辑回归模型,默认阈值为 0.5。
图表显示,客户的最低成本约为$40,阈值为 0.2。
假设我们的公司目前使用的是“简单”模型,该模型在 0.5 的阈值下每位客户的成本约为$48。
如果我们有大约 500,000 的客户基础,那么从简单模型切换到优化模型每年可节省$4MM 的成本!这种成本节省是雇主们非常希望看到的显著业务影响。
结论
在求职过程中,脱颖而出的最佳方法之一是构建展示真实业务影响的作品集项目。
如果你能提出聪明的商业问题并像现实世界中的数据科学家一样完成项目,你将立即对雇主更具价值。
欲了解完整的逐步教程和 R 代码,请查看原始帖子。
一如既往,确保在你的 GitHub 页面和 LinkedIn 个人资料上记录你的工作。
保持积极,继续构建项目,你将顺利找到工作。祝你求职顺利!
个人简介:约翰·沙利文是数据科学学习博客DataOptimal的创始人。你可以在 Twitter 上关注他 @DataOptimal。
资源:
相关: