在这篇文章中,我将与你分享我从其他数据科学家以及我自己过去几年的经验中学到的21条建议。

这取决于你的职业生涯已经走了多远,其中一些建议肯定比其他的更适合你。例如,“花点时间来发现和探索新的库和包”可能对刚开始工作的人来说不太合适。

说到这里,让我们直奔主题吧!

1、最简单的解决方案往往是最好的解决方案

成为数据科学家并不意味着你必须使用机器学习模型解决所有问题。 如果CASE WHEN查询足以完成工作,则坚持这样做。 如果线性回归足以完成任务,则不要构建10层神经网络。

更简单的解决方案有很多好处,包括更快的实施时间,更少的技术负担以及总体上更容易的可维护性。

2、花点时间来发现和探索新的库和包

坚持使用你喜欢的工具很容易,但是使用创造新工具是有原因的——它们是用来填补现有的空白的。通过花时间探索新的库和包,我发现了一些令人难以置信的工具,它们为我节省了大量时间。以下是其中的一些:

Gradio是一个Python包,它允许你用三行代码就可以为你的机器学习模型构建和部署一个web应用。它的作用与Streamlit或Flask相同,但我发现它更容易部署模型。

Pandas Profiling是另一个自动进行探索性数据分析并将其整合到报告中的软件包。我发现当我使用较小的数据集时,这非常有用。最棒的是它只需要一行代码!

Kedro是一个开发工作流工具,允许你创建可移植的ML管道。它将软件工程最佳实践应用到你的代码中,使其可重现性、模块化和文档化良好。

3、高效并不意味着匆忙完成重要的步骤

有些步骤是不能匆忙的。特别是应该花时间深入理解试图解决的业务问题和正在使用的数据。

4、可以说,指标比模型本身更重要

这一点在某种程度上与前一点相联系,因为你必须对你要解决的问题有一个非常好的理解。除了理解这个问题,你还需要弄清楚你想优化的指标,因为归根结底,机器学习是统计和优化的花哨词汇。

举个例子,我可以有一个100%准确率的模型,但如果我试图开发一个异常检测模型,这是没有用的!

5、你的工作表现取决于你的沟通能力

人们会被他们不理解的东西吓倒,并倾向于避开它们。

你必须能够以非技术人员能够理解的方式交流技术术语和建模技术。如果你花时间构建了一个很棒的模型,你就应该花更多时间进行有效的沟通,这样人们才能认可你的努力!

6、学习基础知识,尤其是统计学

数据科学和机器学习本质上是统计学的现代版本。首先通过学习统计,当涉及到学习机器学习的概念和算法时,你会有一个更容易的时间。

7、了解你要解决的问题的各种参数

这可以用一个例子来解释。

在我的一个项目中,我必须开发一个模型来预测一个产品是否必须被RMA 。一开始我以为我的输入是所有的产品,这使得它几乎像一个异常检测问题。

只有在了解业务需求和模型如何使用之后,我才意识到模型的输入是发出RMA的所有产品(客户发送了关于产品问题的电子邮件)。这使数据更加平衡,节省了我很多时间。

8、不要低估SQL的力量

SQL是通用的数据语言——它可以说是任何类型的数据相关专业中最重要的技能,无论你是数据科学家、数据工程师、数据分析师、业务分析师,等等。

SQL不仅在构建管道、提取数据和整理数据方面很重要,而且现在可以使用SQL查询创建机器学习模型。

9、把数据科学当成一项团队运动

作为一名数据科学家,最大的好处之一就是你有很大的自主权。但是,如果你不愿意寻求他人的建议、帮助和反馈,这很容易成为一个弱点。

尽管数据科学具有一定的自主性,但它是一项团队运动。你必须接受来自多个涉众的建议和反馈,包括最终用户、领域专家、数据工程师等。

10、不要浪费时间试图记住所有的东西

要想记住所有的东西实在是太难了。而且这很浪费时间。你最好练习如何用谷歌来回答你的问题,这样你就能得到你需要的答案。

同时,开始使用表格保存真正有用的链接,并且经常回去看看。对我来说,我喜欢包括备忘单、速成课程和我喜欢谷歌的问题的链接。等等

11、快速部署,快速迭代,并不断获得反馈

重要的是要不断地与其他利益相关者沟通,让他们了解你的思考过程,你为模型所做的任何假设并获得反馈。否则的模型可能无法解决手头的问题。

就我个人而言,当与利益相关者(尤其是非编码人员)共享模型时,我使用Gradio为我的模型的每次迭代创建web ui。

我发现Gradio非常有用,原因如下:

  • 它允许我交互式地测试模型中的不同输入。
  • 它允许我从领域用户和领域专家(他们可能不是程序员)那里得到反馈
  • 它需要3行代码来实现,并且可以很容易地通过公共链接分发。

12、从头到尾看一个项目。你对实现模型的责任与创建模型的责任是一样的

作为一名数据科学家,你可以把破烂的jupyter notebook交给工程团队来实现的日子已经一去不复返了。如今,数据科学家更像是数据科学家、工程师、产品经理。

13、一切都是销售

作为数据科学家,无论是出售新想法还是出售自己建立的模型,你总是在推销自己。 与第5点类似,你必须能够传达你所从事的每个创意,每个模型和每个项目的业务价值。

14、建立可持续的时间表以持续学习

如果你要学习,请以正确的方式进行。 你可能听说过遗忘的曲线, 简而言之:如果你想保留新信息,则需要在学习数据科学和实践所学知识方面保持一致。

对自己诚实,制定一个可以遵守的时间表。 但是能做做到你的时间表才是关键。

15、了解如何使用Git和GitHub

学习软件工程最佳实践将有很长的路要走。 版本控制特别重要,因为每个公司都在使用它!

16、通过实践学习

可以通过学习而不仅仅是学习来学习和保留更多的知识和技能。 与在学校学习新概念后做功课的方式类似,你需要不断将所学的知识应用到项目中。

17、随时了解最新情况

与探索新工具和库有关,重要的是要跟上数据科学的新变化,以便你可以使技能和工具保持最新。

我喜欢通过阅读论文和文章,观看YouTube视频以及阅读公司博客(如Airbnb,Uber,Google和Facebook)来做到这一点。大家也可以关注我们的deephub-imba 每日都有干货推送

18、学会运用发散和收敛的思维

在数据科学中,这是一种非常有用的技术,可以确保你已经用尽了所有的选项。发散性思维只是指探索一个给定问题的多种解决方案,而收敛性思维则是将你的选择缩小到一个解决方案。这在执行EDA和选择要使用的模型/算法时特别有用。

19、创建一个职业的档案

它本质上是一本日记或者是你职业生涯的日记。不像简历是给雇主看的,职业档案是给你回顾和反思的。

学习如何设定期望对你在职业生涯中是否“成功”有很大的影响。

20、承诺更少。提供更多

这对数据科学家来说尤其重要,因为数据科学家可以根据自己的需要,花很少或很多时间来创建模型。数据科学家可以使用auto ML库构建一个普通的模型,也可以构建一个近乎完美的模型,但需要几个月的时间来完成。

无论你选择什么,重要的是你要管理预期,这样利益相关者才不会失望。特别是,这意味着在时间轴和模型性能方面管理预期。

21、找一个愿意帮助你并且你尊敬的导师

在我的职业生涯中,发生在我身上的最伟大的事情之一就是找到了一位知识渊博的导师,他也非常关心我的成功。

我想说的是,因为他我学到了比平时多两倍的东西。导师虽然难找,但是你可以找到一群志同道合的朋友。

最后:我希望你能从中学到一些东西!我真的相信这些建议对我的职业生涯有过极大的帮助,我相信对你们也会有同样的帮助。

像往常一样,祝你们在学习中一切顺利。

作者:Terence Shin

deephub翻译组