数据分析师

手机号

验证码

30天自动登录

数据分析师

项目经理的机器学习因素

来源:CPDA数据分析师网 / 时间:2021-05-12

–清理数据
–明确定义目标
–建立强大的项目管理

关于前两个项目要点(垃圾回收,垃圾清理)的文章很多,因此我将重点关注第三点:管理机器学习项目。 

我汇总了一些重要的建议,以帮助管理人员掌握机器学习的过程。这些建议没有特别的顺序是: 

明确定义您的目标和成功标准
给您的数据科学团队足够的时间来取得成功
将用例重新定义为机器学习问题陈述
找出无需使用机器学习即可解决问题的方法
了解 您 正确的数据工程师与数据科学家的比例 
从一开始就考虑CI / CD的架构师
利用数据科学代码进行生产中的数据流水线 
明确定义您的目标和成功标准
有时,公司将数据科学视为纯粹的研究部门。像Google和Amazon这样的公司每年可以负担得起数百万美元的研究费用,但是在企业界中(人们通常希望看到工作中的价值)(通常是不这样做)。是的,我同意失败是可以的,但是不维护没有价值的项目的部门预算是没有可能的。我的建议是从小处着手,并确定一个快速的胜利。  

布置目标。问你自己: 

我们要达到什么目标?  
我们要回答/解决什么问题/问题?
首先尝试以较高的级别回答这些问题(例如,确定自然发生的客户群,以更高的准确性预测设备故障),然后问自己,为什么?为什么确定客户群很重要?为什么要麻烦预测设备故障?这似乎是一个显而易见的步骤,但是却经常被人们忽略。数据科学家倾向于先研究一种理论,然后再决定这是否是对时间的良好投资。

记住:

在挖沟之前,先弄清楚为什么要挖。  
如果您在挖洞之前无法提出充分的挖掘理由,那么其他人都不需要那个洞 
您可以拥有世界上从未有人需要过的的模型。通过上面列出的过程,可以避免没有人意识到挖坑的辛苦工作而感到沮丧。

现在,列出您的成功标准(SC),该标准定义为衡量您的目标的指标。确定SC将基于推动ML需求的因素。例如,如果您的公司正在寻找提高毛利率的方法,则您的成功标准应确定为毛利率的函数(例如,如果模型可以在丢失的交易中找到3%的毛利率,则我们将成功)

给您的数据科学团队成功的时间
这是一个不受欢迎的声明,没有经理希望听到:我们不能保证取得积极的结果。这是管理期望发挥作用的地方。行政领导层需要了解,数据科学项目需要投入时间和金钱。有许多方法可以超出本文的范围,但是以下一些策略有所帮助: 

在您的团队努力取得突破的同时,承担较小的非数据科学项目,以保持开明状态
寻找行政领导中的某人来帮助您辩护 
在拥有坚如磐石的用例之前,不要对技术进行过度投资 
在投入数月的开发时间之前,先执行试点或POC项目(请三思而后行!)
重新定义用例作为机器学习问题陈述
这是有趣的部分,也是我们都熟悉的部分:将业务需求转换为技术。首先,根据需要解决的问题来构造您的问题。这样做不仅可以确保您正确听取了用户的声音,而且确实有助于在他们的请求中突出显示价值主张(或缺乏价值主张)。这样做之后,您将获得一个分析用例。让我们以一个简单的分类问题为例。如果您的用户说:“我们希望根据总销售额,客户属性以及类似的产品评论来个性化产品推荐。” 在机器学习中,我将表述重新表述为“我们是否可以根据客户属性和产品评论,创建一个使总销售额化的模型?” 这句话没有回答问题,

找出无需使用机器学习即可解决问题的方法
这看起来似乎很容易,但确实是一个很大的问题。这一点说明了由于不执行上一点而引起的实际问题。如果无法将用例重新构造为机器学习问题陈述,则可能没有需要ML的问题。  

您是否在公司中实施了新的计划?与现状完全不同吗?如果有的话,您就会知道总会有反对者和不信者。有些人是您要说服为该项目提供资金的人。我已经看到ML项目停滞不前,变成了还有另一个报告任务,因为有人在演示过程中说:“这看起来好像可以用5条if / else语句完成”(我们讨厌那个家伙)。使用全新的闪亮技术堆栈让我们所有人都为之兴奋。但是ML并不是解决所有问题的灵丹妙药。 

一些快速的问题,以帮助找出潜在的ML Poser用例: 

我可以确定性地提供解决方案(或解决方案的一部分)吗? 
对提出的问题的解决方案进行编码需要多长时间?  
是否有可用的即用型应用程序? 
在公司的其他地方已经有人这样做了吗?
花一些时间来画出这样的解决方案的基本架构。事实证明,您的用例可以作为简单的仪表板或快速的python脚本交付,以进行一次性分析。不要将时间浪费在BI团队可以处理的用例上;请记住,您的工作是帮助您的公司/部门达到更高的分析水平。 

了解数据工程师与数据科学家的正确比例 
并非所有的数据科学家都是平等的! 

一些数据分析师是从数据工程的诞生中诞生的
其他人是持有PHD的专家,每个人都有自己的优点和缺点,但是所有人都必须学习如何操纵数据,为了减轻他们和您系统上的负担,您需要一些专职人员来帮助他们在需要时获取所需数据。如果您的类型对于您的组织而言相对较新,并且不了解它们在数据领域的发展方式,则这一点尤其重要,聘请经验丰富的数据工程师,您的时间表将难以置信地下降。如果他们有一些与团队合作的经验,这将有所帮助,因为许多数据科学需要非常严格的可预测(双关语意)格式的数据,以使其适用于功能工程。  

从一开始就拥有CI / CD的建筑师
这项建议的背景不在本文讨论范围之内,但是我计划进行详细的跟进工作,必须构建数据管道以支持即将投入生产的模型,但是与批处理报告不同,机器语言(ML)用例往往针对实时需求。即使是近实时模型也对工程师构成了挑战。更糟糕的是,当数据科学家根据数据创建具有变化特征集的模型时(考虑一下如何处理“过去30天内活跃的客户”作为模型的特征输入)。

回到我们之前关于产品推荐的示例
您是否不想让模型包含的评论和客户属性?当然,这全都取决于您行业的性质:B2C营销比实时交易要实时得多,例如管道布线要提前多数合同进行谈判,与新客户打交道怎么样?模型是否需要在当天为新客户提出建议?了解数据随时间的变化是建立可持续的管道以支持模型开发和完善的关键。 

利用数据科学代码进行生产中的数据流水线 
我把的留到了,利用您的数据科学团队已经完成的工作,工作与数据分析相似,因为两个团队都需要访问多个数据源,整理数据的时间以及业务目标的指导,但是当我们看这个过程时却有所不同,一项研发活动您的DS团队不应只专注于提供日常运营指标,团队就像野马一样:他们需要腾出空间来伸展腿部并奔跑,而且就像野马一样,如果跟随足够长的时间,就会发现水。  

您的团队可能会花费大量时间使用Jupyter,R Studio或PyCharm之类的应用程序
后者通过使用更多用于CI / CD和版本控制的GUI工具提供了一些好处,对于团队来说,使用更具“笔记本”风格的环境来导入,转换和模型数据更有吸引力,因为这些工具在运行时语言之上充当GUI界面:它们可以选择性地执行一小段代码,结果,快速迭代更改,然后继续进行。这样可以使开发过程更加顺畅……进行开发。  

训练完模型后,生产笔记本代码可能是一场噩梦
我们需要生产此代码,因为团队在构建模型上所做的工作涉及大量数据准备(从多个来源引入数据,联接,过滤器等),为什么需要为生产管道捕获并重新创建所有这些内容超出了本文的范围。我将列出一些原因:

当要求对任何监督学习模型进行推理时,将需要用于训练模型的功能集 
获得数字特征(10天平均值,运行总计等)的计算可以进行调整以适合特定的用例(净销售额可能意味着一切),如果这些计算未正确记录在数据中,则将这些功能写入仓库中的持久性存储可能会导致管理问题。   

团队必须对其代码进行修订

如果您不对自己使用某种版本控制感到羞耻,则必须访问该代码库。另外,在准备好投入生产之前,不要让您的工程团队处于黑暗中他们需要阳光和淡水才能生长,站立人员应包括工程代表以及数据科学家,这些增量更新将帮助每个人朝着一个共同的目标编码:自动化生产交付。



返回列表