原文:
towardsdatascience.com/machine-learning-in-business-5-things-a-data-science-course-wont-teach-you-b5668dd6aeb7
如果你认为我给这篇文章起了一个吸引点击的标题,我会同意你的看法——但请听我说!多年来,我管理过多个初级数据科学家,在过去的几年里,我一直在为硕士和博士学生教授应用数据科学课程。他们大多数都有出色的技术技能,但当涉及到将机器学习应用于现实世界的商业问题时,我意识到存在一些差距。
以下是我希望数据科学家在商业环境中更加注意的 5 个要素:
仔细考虑目标
处理不平衡
测试必须是现实生活中的
使用有意义的性能指标
分数的重要性——或者不是
我希望阅读这篇文章对初级和中级数据科学家有所帮助,以提升他们的职业生涯!
在这篇文章中,我将重点关注一个数据科学家被分配部署机器学习模型来预测客户行为的场景。值得注意的是,这些见解也可以应用于涉及产品或传感器行为的场景。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b47620416cb8d441887a7fefd86ae801.png
由 Scott Graham 在 Unsplash 上的照片
1 - 仔细考虑目标
让我们从最重要的开始:你试图预测的“什么”。除非你专注于正确的目标,否则所有后续步骤——数据清洗、预处理、算法、特征工程、超参数优化——都将变得毫无意义。
为了具有可操作性,目标必须代表一种行为,而不是一个数据点。
理想情况下,你的模型与一个业务用例相匹配,其中行动或决策将基于其输出。通过确保你使用的目标能够很好地代表客户行为,业务部门可以轻松理解和利用这些模型的输出。
服装零售商目标示例
想象你为一家大型服装零售商工作,有人请你构建一个模型来识别下周可能购买的客户——模型的输出将定义营销每周电子邮件活动的受众。
这里有三个你可以使用的不同目标:
- 二元:在下周内,某人会购买(任何东西)还是不会?
在这种情况下,使用模型输出的活动将优先考虑最有可能购买的客户,而不管潜在的购买金额。
- 持续:某人会购买多少?
在这种情况下,使用模型输出的活动将优先考虑那些高消费的客户,而不考虑购买的几率。
- 趋势:有人会购买比平时更多吗?
这可以表示为二元或连续目标,但在这个案例中,该活动将优先考虑那些可能增加在零售商处消费的客户。
虽然所有这些“最有可能购买”的目标都是有效的,但它们捕捉了不同的客户行为,并为您的营销活动产生了不同的受众。
银行目标示例
想象一下,您在一家银行工作,并被指派构建一个流失模型以防止银行客户流失。您首先构建了一个旨在预测下个月账户关闭的模型。然而,您的银行提供免费用户,导致客户永远不会关闭他们的账户 —— 他们只是停止使用它们。
您转向预测下个月可能变得“休眠”的账户,这可以作为客户流失的良好代理。在您的银行中,休眠账户的定义是“24 个月内无交易” —— 这不仅使机器学习模型变得不必要,而且也难以采取行动:如何保留在 23 个月内没有交易的客户呢?
重新关注客户生命周期的早期阶段,您决定预测客户“新不活跃”,定义为与上个月相比,客户在本月没有进行任何交易。然而,您注意到许多客户使用银行很少——也许他们只有一到两个产品,他们并不经常互动。您的模型过度捕捉了他们,但这些低活跃度的客户并不是企业想要保留的客户类型。
最后,认识到需要一个更具操作性的目标,您将注意力集中在“不参与”上。您将其定义为客户在一段时间内保持高水平活动,随后保持一致的低水平活动。按照这样的定义,您的目标代表了具有时间限制和可操作性的客户行为。
要使机器学习项目成功,了解目标客户的行为以及其如何与业务目标相一致是至关重要的。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2ce8c8cdc41247b02b0a88b557ba885b.png
作者图片
2 – 处理不平衡
生活,就像现实世界中的数据一样,本质上是不平衡的——所以你很少会遇到一个数据平衡的业务问题。在我的数据科学年数中,我实际上从未遇到过现实生活中具有平衡目标分布的机器学习数据集。甚至相差甚远。这意味着需要知道如何处理——有时极其——不平衡的数据:
欠采样:随机移除多数类中的样本。虽然这会损失信息,但在处理大量数据集时,它成为一个可行的选项。重要的是要注意,达到完美的 50/50 平衡比例并不总是必要的。60/40、75/25 或 80/20 的比例可能同样有效,甚至更有效,在保留数据量和减轻不平衡影响之间提供了一个良好的折衷方案。
过采样:复制少数类的样本,或者如果你使用 SMOTE 这样的方法,可以完全创建新的合成(即虚假!)数据点。这种技术会加重数据集中现有信息的权重。我个人对过度依赖合成数据持有保留意见。如果可以选择的话,我建议投入精力获取更多真实的样本,以增强数据集的代表性。
什么都不做:在处理不平衡数据集时选择“什么都不做”是一个合法的选项。这涉及到评估算法是否能够在不实施特定采样技术的情况下充分捕捉相关信息。算法能否从现有数据分布中学习?
3 – 测试必须是现实生活中的
每个数据科学家都熟悉保留未见过(测试)数据以评估机器学习模型实际性能的重要性。令人惊讶的是,我看到过硕士学生以及运营数据科学家都犯了一个关键的错误,那就是在将数据分成训练和测试数据之前重新平衡数据。这导致测试数据不切实际,性能评估存在偏差。
测试数据集必须保持不变——它应该保留目标在数据中的原始分布。
这种做法确保模型在代表性样本上得到评估,这个样本反映了模型将在现实世界中遇到的情况。
“最后一次训练循环”方法:在某些数据量有限的情况下,一种可能的策略是在模型构建过程的最后添加一个最后的训练循环。一旦特征工程和参数调整的迭代完成,并且模型已经是最优的(通过测试数据衡量),这种方法涉及使用训练和测试数据结合进行额外的训练循环。
这种方法背后的概念是通过让算法接触到稍微大一点的训练数据集来为算法提供最后的性能提升。假设是,这种额外的训练将增强模型的能力,尽管确切的改进效果尚不清楚。
我个人没有使用这种方法。这是因为我更喜欢在最终产品上拥有已知的性能指标。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/60323c9a52de0da73b2240077f0271cd.png
作者提供的图片
4 – 使用有意义的性能指标
由于它们对类别的普遍性不敏感,准确率、ROC 曲线和 ROC 曲线下的面积不适用于不平衡类别模型。(有关性能指标的背景信息)。
在现实生活中的预测场景中,例如上述零售商和银行示例中,感兴趣的行为通常由少数类表示。鉴于识别更广泛客户群中一小部分客户的客观目标,重点将在于了解模型在识别真正阳性方面的表现——而不是模型在识别真正阴性方面的表现。
在营销环境中,你通常试图优化精确度——模型输出的受众资质如何——这使得精确度和精确度-召回率曲线下的面积成为首选指标。
此外,精确度可以以对业务友好的方式呈现,以便更好地让利益相关者理解。考虑一个针对一千名客户群体 15%精确度的例子:“模型针对的 1000 名客户预计会产生 150 次购买,而如果随机选择受众,则只有 5 次购买。”
5 – 分数的重要性——或者不是
在二元分类背景下,像精确度这样的单一值指标通常基于默认的 0.5 阈值值计算。
- 预测(分数)< 0.5 的客户被标记为“负面”,而预测为 0.5 或更高的客户被标记为“正面”。
然而,使用这个默认值会带来两个问题:
问题 1:默认值对于不平衡数据集没有任何意义
不平衡数据集产生不平衡的分数。预测分数的分布不会遵循均值为 0.5 的正常分布。使用默认阈值可能会导致负面和正面群体非常小或非常大。
问题 2:无法控制模型输出调整
当专注于“正面”群体——合格的受众——时,拥有管理受众规模和特性的灵活性变得至关重要:
如果业务计划对受众采取昂贵的行动(例如,向即将流失的客户提供免费产品),重点可能会放在高精确度(=高阈值,小而高度合格的受众)上。
在另一端,如果错过成本很高(例如,在癌症检测模型中),优先级可能会转移到高召回率(=低阈值,大而资质较低的受众)。
我更喜欢将二元分类模型视为排名工具。而不是严格地将正负样本分组,模型只是根据客户表现出某种行为的可能性对客户列表进行排名。然后,数据科学家的责任就是确定合适的截止点,在合格受众规模和其预测性能之间取得平衡。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/65e17b56e3e78d8554d1a0236a55a1a9.png
确定合格受众规模是数据科学家的职责,这要根据业务问题来决定。图片由作者提供。
商业利益相关者不需要看到分数
“0.3 是一个相当低的分数”——它可能是,也可能不是!在数据不平衡的情况下,得分 0.3 的客户可能处于预测值的前列。
商业利益相关者会锚定在分数值上,而没有看到更大的图景。
在涉及多个模型预测不同行为(例如,购买 T 恤、裤子、夹克、手提包)的场景中,基于原始分数比较模型可能会产生误导。对于裤子模型,0.3 的分数可能被认为是低的,而对于手提包模型,则可能被认为是高的。
与商业利益相关者分享分数不如使用排名或十分位。例如,展示如下发现是有帮助的:“以下是可能购买产品的前 1000 名客户。我们的测试表明,该群体中有 15%的人会进行购买,而如果随机选择,则只有 5%。”这种方法可以更清晰地了解不同模型的表现,而不涉及原始分数的模糊性。
在那些受众规模预先确定的企业应用中,例如每周选择最有可能购买 XYZ 产品的 500 万客户,个人分数变得不那么重要。主要关注的是选择最佳的 500 万客户,无论他们的分数值是多少。
结论
选择正确的目标不是关于数据点,而是关于捕捉可操作的行为。
在不平衡数据上构建机器学习模型需要适当的度量框架和深思熟虑的沟通策略,以向商业利益相关者传达。
希望这能让你明白并有所帮助——我遗漏了什么?对于经验丰富的读者,预测建模的哪些其他重要方面在实践中被证明非常有价值,但在正规教育中可能没有涉及?
提升你的数据科学职业生涯:如何成为一名高级数据科学家
客户细分:不仅仅是聚类
参考文献:
[1] G. Colley, 提升你的数据科学职业生涯:如何成为一名高级数据科学家(2023),towardsdatascience.com/elevate-your-data-science-career-how-to-become-a-senior-data-scientist-5d7546d060e2
[2] J. Brownlee, 评估指标巡礼:不平衡分类(2021),machinelearningmastery.com/tour-of-evaluation-metrics-for-imbalanced-classification/