如何让机器学习创造价值

通过3个步骤定义和解决有意义问题的通用框架。

想象一下以下场景:您的老板要求您构建一个机器学习模型,用以预测每个月贵司订阅服务的客户哪些将在该月流失,其中流失的定义为超过31天没有活跃的成员。您可以通过手工找到流失的历史实例,进行头脑风暴和工程师筛选特征来精心制作标签,然后训练和手动调整机器学习模型以进行预测。

对测试集的指标感到满意侯,你到老板那汇报结果,却被告知现在你必须开发一个不同的解决方案:每两周做一次预测,其中流失定义为14天不活动。令人沮丧的是,您意识到您以前的工作都不能重用,因为它是针对单个预测问题而设计的。

您为一个狭窄的流失定义编写了一个标签函数,并且管道中的下游步骤 - 特征工程和建模 - 也依赖于初始参数,并且必须重做。由于对一组特定值进行硬编码,您必须构建一个完全新的管道来解决问题定义中的一个小变化。

构建机器学习过程

这种情况表明如何用机器学习解决问题变得日益紧迫。该过程是ad-hoc(即席)的,即使使用相同的数据,也需要为每个参数集提供自定义解决方案。结果是公司错过了机器学习的全部好处,因为它们仅限于用时间密集的方法解决少数问题。

缺乏标准化方法意味着没有用机器学习解决问题的脚手架,即可以快速调整和部署作为问题变化的参数。

我们如何改进这个过程?使机器学习更容易获得将需要一个用于设置和解决问题的通用框架。该框架应适应现有工具,可快速适应不断变化的参数,适用于不同行业,并提供足够的结构,为数据科学家提供一条明确的路径,用于布置和解决机器学习中的有意义问题。

在Feature Labs中,我们就此问题进行了大量思考,并开发出了我们认为更好的借助机器学习来解决有用问题的方法。在接下来的下三部分中,我将阐述如何以结构化、可重复的方式构建框架和构建机器学习解决方案,这些方法是围绕预测工程,特征工程和建模的步骤构建的。

我们将逐步介绍完全应用于一个用例的方法 - 预测客户流失 - 并了解如果问题的参数发生变化,我们如何调整解决方案。此外,我们将学会利用现有常用于机器学习的工具 - Pandas,Scikit-Learn,Featuretools。

通用机器学习框架概述如下:

预测工程:陈述业务需求,转化为机器学习问题,并从数据集生成标记示例

特征工程:从每个标签的原始数据中提取预测变量 - 特征

建模:使用这些特征训练机器学习模型,调优以适应业务需求并验证预测,然后部署。

我们将介绍每个步骤的基础知识以及如何在代码中实现它们。完整的项目可以在GitHub上的Jupyter Notebook[0]获得。

完整的文章是:

概述:通用机器学习框架(本文)

预测工程:如何设置机器学习问题[1]

特色工程:为机器学习提供动力[2]

建模:教授算法进行预测[3]

尽管该项目仅讨论了一个应用,但可以跨行业应用相同的流程来构建有用的机器学习解决方案。最终可交付成果是一个框架,可用于解决任何领域中的机器学习问题,以及可直接应用于您自己的客户流失数据集的特定解决方案。

商业动机:确保你解决正确的问题

除非为公司创造价值,否则再复杂的机器学习管道也没有意义。因此,构建机器学习任务的第一步是了解业务需求,以便确定要解决的正确问题。在整个系列中,我们将解决解决客户流失的常见问题。

对于基于订阅的商业模式,预测哪些客户会流失 - 在指定的时间段内停止支付服务费用 - 至关重要。准确预测客户是否以及何时会流失,可以让企业与那些有退款风险的人进行互动,或者提供降低费率作为维持订阅的动机。有效的客户流失预测模型使公司能够积极主动地发展客户群。

对于客户流失问题,业务需求是:

通过降低客户流失率来增加付费用户的数量。

减少客户流失的传统方法需要使用生存分析技术[4]预测哪些客户会流失,但是鉴于丰富的历史客户行为数据,这里提出了监督机器学习的理想应用[5]

我们可以通过构建监督算法来解决机器学习的业务问题,该算法从过去的数据中学习以预测客户流失。

陈述业务目标并根据机器学习可解决的任务表达它是管道中关键的第一步。一旦我们知道我们希望模型预测什么,我们就可以继续使用可用数据来开发和解决有监督机器学习问题。

原文,How to Create Value with Machine Learning

https://blog.featurelabs.com/how-to-create-value-with-machine-learning/

参考

[0] https://github.com/Featuretools/predicting-customer-churn

[1] https://blog.featurelabs.com/prediction-engineering-churn/

[2] https://blog.featurelabs.com/feature-engineering-churn/

[3] https://blog.featurelabs.com/modeling-churn/

[4] https://towardsdatascience.com/survival-analysis-in-python-a-model-for-customer-churn-e737c5242822

[5] https://www.sciencedirect.com/science/article/pii/S1569190X15000386

以上,便是今天的分享,希望大家喜欢,觉得内容不错的,欢迎点击「在看」支持,谢谢各位。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190930A0F05600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券