大神分享数据科学实际工作中的5个教训!
点击上方关注,All in AI中国
作者:Admond Lee
自从我在行业媒体上发表一些文章以来,已经有一段时间了。在数据科学方面工作了将近半年之后,我犯了很多错误,但也从这些错误中吸取了一些教训。经历失败,就会有反馈。而现实世界就是一种反馈机制。学习的过程并不容易,所以需要我们不断地研究、学习和改进。
通过学习中得到的经验和教训,我意识到,数据科学中的大多数初学者(比如我)可能会遇到一些常见的陷阱。如果你也遇到这些问题,我希望大家从这些陷阱中学到这5个最大的教训。
1. 业务领域知识
说实话,当我刚开始学习时,我就得到了一个很大的教训,因为我没有过多强调行业领域知识的重要性。相反,只是花费太多时间来提高我的技术知识(在不真正了解业务需求的情况下构建复杂的模型)。
如果不彻底了解业务,你的模型很可能不会为组织增加任何价值,因为它无法满足目的,尽管你构建的模型很精确。
提高模型精度的最常用技术是网格搜索,以搜索模型的最佳参数。但是,只有了解业务需求,并添加相关功能来训练模型,才能显著提升模型性能。特征工程仍然非常重要,网格搜索只是改善模型的最后一步。
人们总是对组织的业务很感兴趣,因为你的工作是通过数据帮助他们解决问题。那么需要扪心自问,你是否真的对自己所做的事情充满激情,并在工作中表现出真正的热情。
清晰地表达自己的想法
仅仅了解业务本身是不够的,除非你能清晰地表达自己的想法,并向其他同事或利益相关者提供他们能在业务环境中理解的术语。
换句话说,永远不要使用利益相关者不熟悉的奇怪(或可能是自定义)的术语,因为这只会引起你和他们之间的误解。
尽管你的调查结果可能是正确的,或者见解可能会产生影响,但你的可信度会受到质疑,调查结果将会成为一个值得商榷的话题。
在你展示如何使用数据解决业务问题之前,我建议首先表明你了解整个业务(包括日常工作中常用的技术术语),然后确定问题可以采用现有数据回答的陈述。
2. 面向细节的思维和工作流程
我们需要像侦探一样对重点进行细节调查。这在数据清理和转换过程中尤为重要。现实生活中的数据很混乱,你必须有能力在不堪重负之前从噪音的海洋中获取信号。
因此,拥有以细节为导向的思维模式和工作流程对于在数据科学领域取得成功至关重要。如果没有一丝不苟的心态或结构良好的工作流程,你可能会在探索数据的过程中迷失方向。
例如,你可能会在一段时间内努力进行探索性数据分析(EDA),但仍未获得任何见解;或者你可能会不断地用不同的参数训练你的模型,希望看到一些改进;或许你可能正在庆祝完成艰苦的数据清理过程,而实际上数据可能不够干净,无法提供给理想的模型。我就经历过这种漫无目的的过程,却发现没有一个结构良好的工作流程,我的想法只是希望最好的事情能够发生。
希望最好的事情发生只是让我无法控制在做什么,因为系统混乱,我意识到可能出了什么问题。
我退后一步,回顾自己正在做的事情;重新组织了思维和工作流程,试图使每件事都实现标准化和系统化,最后终于获得成功。
3.实验的设计和逻辑
系统工作流程提供了整个数据科学原型系统的宏观视图(从数据清理到解释模型结果等);实验是工作流程中不可或缺的一部分,包括你的假设检验逻辑以及模型构建过程。
正常的机器学习问题(Kaggle竞赛等)非常简单,因为我只需要获取训练数据,并开始构建模型。
然而,在构建逻辑和设计实验来测试你的假设,并使用合适的成功指标评估你的模型时,现实世界中的事情变得复杂。
在实验结束时,每个声明或结论都应始终得到事实和数据的支持。因此不要在没有验证其有效性的情况下得出结论。
4.沟通技巧
我希望人们能够始终努力提高沟通技巧。如果你是数据科学的初学者、中级技术人员或专家,那无关紧要。希望在聆听他们的意见的同时,与他人分享你的想法,并接受批评和反馈。
你需要使用业务语言,并与他们理解的术语与同事、管理人员和其他利益相关者进行沟通。这表明了业务领域知识这个教训的重要性。如果没有掌握业务语言,将会使你与团队成员的沟通效率降低,因为人们可能很难从他们的角度理解你所说的话。其结果是浪费时间,会感到沮丧,你的可信度和与他们的关系可能会受到影响。这将面临一个双输的局面。
更糟糕的是,缺乏沟通技巧会导致业务利益相关者在理解分析结果时面临挑战。尽管背后有复杂性,但始终以简单的方式传达你的想法、方法、结果、见解。简单来说,如果你向商务人士采用商务语言来沟通,他们会感觉更舒服,感到更有能力,并且更愿意将时间投入到流程中,从而更积极地参与对话以理解你的分析。这也导致了最后一个教训的重要性—讲故事。
5.讲故事
可能现在还是不太不明显,数据科学不仅仅是数据处理和模型构建,以向利益相关者展示结果。由于满足业务需求的模型的出色表现,你的最终目标应该是通过令人信服的数据讲故事,并将你的结果传递给利益相关者,这些数据可以回答以下一些问题(这取决于你的项目目标):
(1)为什么我们要分析它?
(2)我们可以从结果中获得什么见解?
(3)我们可以做出哪些决策/行动计划?
讲故事的艺术既简单又复杂。(https://dzone.com/articles/the-art-of-story-telling-in-data-science-and-how-t)在数据驱动的分析中经常被忽略的是,有时即使是最好的模型性能和结果,也会因为糟糕的讲故事和演示而变得毫无用处。这多么浪费!
想象一下,如果你是利益相关者,是什么引人入胜且令人信服?
让我们想象一下,当有一位数据科学家现在向你展示业务问题的高度准确的模型预测时,无需进一步解释。你可能会想:这真令人印象深刻!这个模型做得很好......接下来是什么?
你能明白我在这里阐述的想法吗?模型结果与行动计划之间存在明显差距。即使你只是向他们展示高度准确的模型预测,利益相关者也不会知道该怎么做。我们必须从他们的角度来思考,回应他们的问题和关注点,而不是仅仅满足业务目标,最终导致行动计划实施。
有很多方法可以缩小差距,我将简要介绍两种可以提供有启发性的见解,并指导利益相关者参与其行动计划的方法。
(1)设置比较基准
声称模型性能良好而不需要与之进行比较是不够的。换句话说,需要一个基准线,以便我们知道模型是做得好还是不好。
如果没有这个基准,那么声称模型表现良好几乎毫无意义,因为仍有一个问题没有得到解答:到底什么样才是足够好?我为什么要相信你的结果?
(2)风险管理
这一点尤为重要,因为它将决定你的模型是否会投入生产。这意味着你必须从模型性能中显示最好的或最坏的案例场景。
这就是风险管理的用武之地,因为利益相关者希望知道模型的局限性,在哪里工作以及失败的地方。他们想知道当模型投入生产时,组织必须承担多大的风险,这最终会影响他们的最终行动计划。
因此,了解风险管理的重要性不仅会使你的结果更具吸引力,而且还会大大提高利益相关者对你和你提供结果的信心(因为你帮助组织管理,并最大限度地降低了风险)。