数据科学家新手常犯的 13 个错误(附工具、学习资源)

(给Python开发者加星标,提升Python技能


英文:Pranav  Dar,转自:数据派(ID:datapi),翻译:和中华

www.oschina.net/news/99717/what-s-google-dataset-search?origin=zhzd


简介


你已经决定把数据科学当做是适合你的领域了?如今越来越多的企业正在变得以数据驱动,世界变得越来越紧密,以致于看起来每个企业都需要数据科学实践。因此,对数据科学家的需求是巨大的。甚至更好的是,业界数据科学人才短缺已经成为共识。

 

然而,要成为一名数据科学家并不容易。需要掌握多种技能,才能真正成为一名数据科学家。这些技能包括解决问题、结构化思考、编程和其他专业技能。如果你不是技术出身或者数学出身,就很有可能通过书籍和视频课程来学习,但大多数并没有教你那些当前业界渴望从数据科学家身上寻找到的东西。

 

这是想要成为数据科学家的人正在努力弥合自我教育与现实世界工作之间的差距的原因之一。

 

在本文中,我会讨论数据科学家新手常犯的错误(我自己也犯了其中一些),并提供了相关资源,旨在帮助你避免数据科学之旅中的这些陷阱。



本文目录


一、只学习理论概念但不应用

二、没有学习先决条件就直接应用机器学习技术

三、完全依靠证书和学位

四、误以为现实生活中的工作就像在机器学习竞赛中所看到的一样

五、关注模型准确性超过关注它在领域内的适用性和可解释性

六、在简历中使用过多的数据科学术语

七、优先关注工具和库而不是业务问题

八、没有花费足够的时间探索和可视化数据(好奇心)

九、没有采用结构化方法来解决问题

十、试图一次学习多个工具

十一、没有坚持学习

十二、远离讨论和竞赛

十三、没有加强沟通技巧



一、只学习理论概念但不应用


640?wx_fmt=png

Source: Cognitive Class – YouTube

 

正如我在另一篇关于实践问题的文章中提到的那样 - 掌握机器学习技术背后的理论是很好的:


文章链接:

https://www.analyticsvidhya.com/blog/2018/07/learn-and-test-your-machine-learning-skills-with-avs-new-practice-problems-and-free-courses/


但如果你不应用,它们就只是理论概念。当我刚开始学习数据科学时,我也犯了同样的错误 - 我学了书籍和在线课程,但并没有经常用它们来解决实际问题。

 

因此,当遇到某个挑战或问题,并且有机会可以应用我所学到的所有东西时,我却连一半都记不起来!有很多东西需要学习 - 算法,推导,研究论文等,你很有可能半途而废。我已经看到很多想要成为数据科学家的人这样半途而废了。

 

如何避免该错误?

 

在学习过程中,必须保持理论和实践之间的良好平衡。一旦你学习了一个概念,请立即访问Google,找一个可以应用它的数据集或问题,进而你会发现你比以前更好地记住了这个概念。还可以使用AV的DataHack平台解决实际问题和参与正在进行的竞赛。

 

你得接受一个事实:一口吃不成个胖子。在练习时填补空白,你将学到更多东西!



二、没有学习先决条件就直接应用机器学习技术


640?wx_fmt=png

Source: Imperial College London – YouTube

 

想要成为数据科学家的人大多数都是受到机器人视频或者很牛的预测模型的鼓舞,有时甚至是这个岗位的高薪。坏消息是(很抱歉令你失望!),前进的路上从来都不会一路畅通。

 

在应用技术解决问题之前,你应该了解技术的工作原理。这样有助于你了解一个算法是如何工作的,可以做哪些操作来微调它以及如何在现有技术的基础上应用它。数学对于了解某些概念总是很有帮助,所以它在这里发挥着重要作用。在日常的企业数据科学家角色中,你可能不需要了解高级微积分,但有一个宏观的了解肯定有所帮助。

 

如果你好奇机器学习技术的工作原理,或者想要进入研究它的角色之中,那么在深入了解核心机器学习之前,需要了解的四个关键主题是:

 

  • 线性代数

  • 微积分

  • 统计

  • 概率

 

如何避免该错误?

 

正如房子是由砖块砌成的,数据科学家也是由所有独特技能所集成的。有大量的资源可以帮助你学习这些主题,下面我给每个主题列出一个资源,可以帮助你入门:

 

  • A Comprehensive Beginners Guide to Linear Algebra for Data Scientists

    https://www.analyticsvidhya.com/blog/2017/05/comprehensive-guide-to-linear-algebra/


  • Khan Academy’s Calculus Course

    https://www.khanacademy.org/math/calculus-home


  • Basics of Probability for Data Science Explained with Examples

    https://www.analyticsvidhya.com/blog/2017/02/basic-probability-data-science-with-examples/


你还可以查看Analytics Vidhya的“数据科学入门”课程,其中包括一个有关统计和概率的综合模块。


  • Analytics Vidhya《数据科学入门》课程

    https://trainings.analyticsvidhya.com/courses/coursev1:AnalyticsVidhya+DS101+2018T2/about



三、完全依靠证书和学位


640?wx_fmt=png


招聘经理和招聘专员经常抱怨求职者完全依赖于证书和学历。自从数据科学变得非常受欢迎,各种相关的证书和学位如雨后春笋般涌现出来,随处可见。瞥一眼我的LinkedIn主页,至少有5张证书赫然显示在那。虽然获得这些证书并非易事,但完全依赖它们是一种灾难。

 

网上现在有很多这样提供证书的课程冒出来,而这些已经被成千上万个想要成为数据科学家的人刷完。如果这些课程曾经为你的数据科学简历添光溢彩,那么现在它们已经不再那么有吸引力了。招聘经理对这些证书已经不太在意——他们更看重你的知识以及在现实生活中应用它们的能力。

 

为了真正地成为一名数据科学家,你需要了解如何与客户打交道,如何应对deadlines,如何了解数据科学项目生命周期以及如何设计适应现有业务框架的模型,当然,你需要了解的还远不止这些事项。因此,仅仅依靠证书或学位是不够的。

 

如何避免该错误?

 

不要误解我的意思 – 证书是很有价值的。但只有当你将知识应用到课堂之外并将应用结果公之于众时,证书才有价值。使用真实世界的数据集,无论你做了什么分析,确保你把它们写下来。创建自己的博客,在LinkedIn上发布,并征求社区的反馈意见。这样显得你有学习的意愿和足够的灵活性,愿意采纳建议并将这些建议应用项目之中。

 

无论目前的经验水平如何,你应该对实习的想法保持开放的态度。这样,你会学到很多关于数据科学团队如何工作的知识,进而在另一场面试时受益。

 

如果你正在寻找下一个项目,那么你来对地方了。 我们有一个很棒的、按照难度划分的项目列表,你可以现在就开始:


项目列表链接:

https://www.analyticsvidhya.com/blog/2018/05/24-ultimate-data-science-projects-to-boost-your-knowledge-and-skills/



四、误以为现实生活中的工作就像在机器学习竞赛中所看到的一样


640?wx_fmt=png

 

对于渴望成为数据科学家的人来说,这是目前最大的误解之一。当我们参加竞赛和黑客马拉松时,它们提供干净整洁的数据集(好吧,我说的有点过,但你的确轻松不少),你下载这些数据集,并开始解决问题。即使这些数据集列中有缺失值,你也不需要耗费太多脑细胞 ,只需找出一种插补技术补齐缺失值即可。

 

不幸的是,现实世界的项目并不像那样。通常,有一群人参与一个端到端的数据流程,所以你几乎总是要处理杂乱和不干净的数据。老话说:需要花费70-80%的时间来收集和清理数据,这是真实的。这部分工作令人筋疲力尽,你会(很可能)不喜欢做,但它最终会成为日常工作的一部分。

 

我们将在下一节更详细地介绍这一点:准确性不一定总是最终目标,所以简单的模型将优于任何复杂的、组合的集成模型。这将是你在工作中学到的最明显不同的事情之一。

 

如何避免该错误?

 

讽刺的是,消除这个误会的关键因素之一是经验。你获得的经验越多(在这种情况下实习能给予很多帮助),你就能越好地区分这两者。你还可以在社交媒体派上与数据科学家取得联系,借鉴他们的经验。

 

另外,建议浏览这个Quora帖子:


https://www.quora.com/How-similar-are-Kaggle-competitions-to-what-data-scientists-do


这里面有来自世界各地的数据科学家就这个确切的问题提供他们的意见。在竞赛排行榜上获得的好成绩非常适合度量你的学习进度,然而,面试官更想知道你为了让模型生效是如何优化算法的,但不仅仅是为了提高准确性。你可以通过了解如何开展一个数据科学项目以及一个团队有哪些不同的岗位(从数据工程师到数据架构师)来给出合理的回答。

 

阅读这篇LinkedIn帖子,其中解释了分析模型的标准方法:


http://www.linkedin.com/pulse/standard-methodology-analytical-models-olav-laudy/?trk=prof-post



五、关注模型准确性超过关注它在领域内的适用性和可解释性


如先前所述,业务并非总是追求准确性。诚然,一个模型能够以95%的准确率预测贷款违规是好的,但是,如果你无法解释模型是如何实现的,有哪些特征促成了它,以及在构建模型时你的想法是什么,你的客户将会拒绝它。

 640?wx_fmt=jpeg


你将会发现,在商业应用中很少有人使用深度神经网络,原因是无法向客户解释神经网络(更不用说深度网络)是如何与隐藏层,卷积层等一起工作的。所以,我们永远第一位要做的是确保能够理解模型内部正在发生什么。如果无法判断贷款申请被拒是因为年龄,或是家庭成员数量,或是历史信用记录,那么贷款业务将如何运作?

 

另一个关键是你的模型是否适合组织的现有框架。如果生产环境无法支持,那么使用10种不同类型的工具和库构建的模型将会失败得非常惨,因为你将不得不使用更简单的方法从头开始设计和训练模型。

 

如何避免该错误?

 

防止自己犯这个错误的最好方法是与业内人士交谈,因为没有比经验更好的老师了。 选择一个领域(财务,人力资源,营销,销售,运营等),并与选定领域的业内人士取得联系,了解他们的项目是如何运作的。

 

除此之外,还可以练习简单一点的模型,并向非技术人员解释这些模型,随后,为模型添加复杂性并持续这样做,直到你不理解模型下面发生了什么为止。这将让你明白何时该停止以及为什么在实际应用中总是优先考虑简单模型。



六、在简历中使用过多的数据科学术语


640?wx_fmt=png


如果你以前这样做过,就会知道我在说什么。如果你的简历目前就有此问题,请立即纠正!你可能知道很多技术和工具,但只是简单地将它们罗列出来,这会让你错过潜在的招聘经理。

 

简历是已取得的成就及其取得过程的概述,而不是简单记下来的事情清单。当招聘人员查看你的简历时,他/她希望以简洁和总结的方式了解你的背景以及你所取得的成就。但是,如果简历一半写满了模糊的数据科学术语,如线性回归,XGBoost,LightGBM,没有任何解释,你的简历可能无法通过简历筛选阶段。

 

如何避免该错误?

 

消除简历杂乱的最简单方法就是使用项目符号。只需要列出你在取得某些成就过程中所采用的技术(可能是一个项目或一个竞赛),再写一两句话,解释你是如何使用这些技术的,这有助于招聘人员理解你的想法。

 

当申请入门级工作时,你的简历需要反映出你可以为业务增加哪些潜在影响。你可能正在申请不同领域中的岗位,因此,最好有一组简历模板。从而,只需更改故事,就可以展现你对选定领域的兴趣。

 

Kunal Jain撰写的这篇文章是了解数据科学家如何准备优秀简历的绝佳资源:


文章链接:

https://www.analyticsvidhya.com/blog/2014/11/tips-prepare-cv-data-science-roles/



七、优先关注工具和库而不是业务问题

 

640?wx_fmt=png


让我们举个例子来解释为什么这是一个错误。想象一下,给你一个房价数据集,你需要预测未来房地产的价值。这个数据集有200多个变量,包括建筑物数量、房间数量、租户数量、家庭规模、庭院大小以及是否有水龙头等等,很可能你不知道某些变量的含义。然而,你仍然可以构建具有良好准确率的模型,却不知道删除某个变量的原因。

 

最后结果表明,这个变量是现实世界中的一个关键因素。这是一个灾难性的错误。

 

掌握扎实的工具和库知识是非常好的,但它只会帮你到这。将这些知识与领域中的业务问题相结合,才是是真正的数据科学家该介入的地方。因此,你至少应该了解你感兴趣(或正在申请)的行业中基本挑战是什么。

 

如何避免该错误?

 

这里有很多选择:

 

  • 如果你正在申请特定行业的数据科学家岗位,请了解该领域的公司正在如何使用数据科学。

  • 如果可能,搜索特定行业中的数据集并尝试对其进行处理。这将是你简历中的一个亮点。

  • 阅读下面这篇优秀的纽约时报文章,了解为什么领域知识是数据科学的主要推动力:


纽约时报文章:

https://www.forbes.com/sites/kalevleetaru/2016/06/12/why-we-need-more-domain-experts-in-the-data-sciences/#44d76b893b50



八、没有花费足够的时间探索和可视化数据(好奇心)


640?wx_fmt=png


数据可视化是数据科学中一个很有趣的方面,但许多想成为数据科学家的人更喜欢一笔带过,直接进入模型构建阶段。这种方法可能在竞赛中有效,但在实际工作中必然会失败。你将要做的最重要的事情是了解你手里的数据,模型的结果将反映出这一点。

 

通过花时间了解数据集,尝试不同的图表,你将对挑战或者问题有更深入的了解,仅仅通过这样做,就可以发现数据中的模式、趋势、故事以及最佳部分,你会对如此之多的洞见感到很惊讶。可视化也是向客户展示发现的最佳方式。

 

作为一名数据科学家,你天生具备好奇心。数据科学的伟大之处在于,你越是好奇,你问的问题将会越多。这样可以促使你更好地理解数据,也有助于解决你最初不知道的问题。

 

如何避免该错误?

 

实践!下次处理数据集时,请花更多时间在此步骤上。你会惊讶于它将为你带来的洞察力。问问题!询问主管,询问领域专家,在互联网上搜索解决方案,如果没有找到,请在社交媒体上询问。太多选择了!

 

为了帮助你入门,下面提供了一些参考资源:

 

  • Comprehensive Guide to Data Visualization in R

    https://www.analyticsvidhya.com/blog/2015/07/guide-data-visualization-r/


  • A Comprehensive Guide to Data Exploration (Highly Recommended)

    https://www.analyticsvidhya.com/blog/2016/01/guide-data-exploration/


  • 18 Free Exploratory Data Analysis Tools For People who don’t code well

    https://www.analyticsvidhya.com/blog/2016/09/18-free-exploratory-data-analysis-tools-for-people-who-dont-code-so-well/



九、没有采用结构化方法来解决问题


640?wx_fmt=png

 

结构化思维以多种方式帮助数据科学家:

 

  • 有助于你将问题陈述分解为不同逻辑部分。

  • 有助于你将全盘分析问题陈述和设计解决方法的过程可视化。

  • 有助于最终用户或客户以逻辑和易于理解的方式理解你的框架顺序。

 

关于结构化思维为何有帮助,还有很多理由。正如你可以想象的那样,一个人没有具备结构化思维,这是违反直觉的。你的工作、解决问题的方法都将是随意的,当遇到复杂的问题时你会无法跟踪自己的步伐等等。

 

当进行数据科学面试时,面试官会不可避免地要求你分析一个案例研究,或者进行猜测估值,或者解决疑难问题。由于面试室内空中弥漫的压力和时间限制,面试官会观察你是如何构建你的想法得出最终结果的。在许多情况下,这关系到最后你能否获得这份工作。

 

如何避免该错误?

 

你可以通过简单的培训和严谨的训练来培养自己的结构化思维方式。我在下面列出了一些文章,可以帮助你开始:

 

  • The Art of Structured Thinking and Analysis

    https://www.analyticsvidhya.com/blog/2013/06/art-structured-thinking-analyzing/


  • Tools for Improving Structured Thinking

    https://www.analyticsvidhya.com/blog/2014/02/tools-structured-thinking/


  • Must for Data Scientists & Analysts: Brain Training for Analytical Thinking

    https://www.analyticsvidhya.com/blog/2015/07/brain-training-analytical-thinking/



十、试图一次学习多个工具


640?wx_fmt=png


这个问题太常见了。由于每个工具都提供了独特功能,人们倾向于一次学习所有工具。但,你最终哪个都没掌握,因而这是个坏主意。工具是实践数据科学的一种手段,而不是最终目标。

 

如何避免该错误?

 

选择一个工具并坚持下去,直到你掌握它为止。如果你已经开始学习R,那么不要被Python诱惑。坚持使用R,端对端学习,然后再尝试将另一种工具融入你的技能组合中,这种方式会让你学到更多。

 

每个工具都有一个出色的用户社区,你可以在遇到困难的任何时候使用。使用我们的论坛来提问,在线搜索,不要放弃:


论坛链接:

https://discuss.analyticsvidhya.com/


目的是通过工具学习数据科学,而不是通过数据科学学习工具。


如果你还未确定应该使用哪种工具,请查看这篇精彩的文章,其中列出了每个工具的优点和缺点(还包括SAS):


文章链接:

https://www.analyticsvidhya.com/blog/2017/09/sas-vs-vs-python-tool-learn/

 


十一、没有坚持学习


640?wx_fmt=png

 

这适用于所有数据科学家,而不仅仅适用于新人。人天生容易转移注意力,所以我们学习了一段时间(比如说,一个月),然后在接下来的两个月里休息一下。之后,试图回到原来的状态就像一场噩梦,因为大多数早期学过的概念都忘了,笔记丢失了,感觉之前学习的时间都白费了。

 

我个人也经历过这一点。由于已经经历很多事情,我们可以找到各种没有回到学习中的借口和理由。但这最终是我们的损失 ,原因是数据科学并非只是打开教科书然后吸取知识那样简单,要不然今天满大街都是数据科学家了。它需要持续的努力和学习,而这两样是人失去后才会珍惜的品质。

 

如何避免该错误?

 

为自己设定目标。绘制出时间表并贴在墙上,计划你想要学习的方式和内容,并为自己设定截止日期。例如,当想了解神经网络时,我给了自己几个星期,然后在黑客马拉松比赛中测试我学到的东西。

 

你既然决定要成为一名数据科学家,就应该准备好投入时间。如果你不断寻找不学习的借口,那么数据科学家这个岗位可能不适合你。



十二、远离讨论和竞赛

 

640?wx_fmt=png


这是我们在上述几点中看到的一些事情的组合。想成为数据科学家的人倾向于回避在线发布他们的分析,因为担心受到批评。但是,如果没有收到社区的反馈,你就不会成长为数据科学家。

 

在数据科学领域中,讨论、想法和头脑风暴都是至关重要的。因此,你需要合作并理解其他数据科学家的观点,这意味着你不能在孤岛中工作。同样,人们因为觉得自己不会赢而不参加比赛,这是一种错误的心态!你参加比赛是用来学习的,而不是只为了赢。获胜是奖励,学习是目标。

 

如何避免该错误?

 

这很简单,请开始参与讨论和比赛!没有进入前5%也没关系。如果你从整个过程中学到一种新技术,那你已经赢了。



十三、没有加强沟通技巧


640?wx_fmt=jpeg


沟通技巧是数据科学家绝对必须拥有的,但却最少被评价和谈论的方面之一。我还没有遇到一个强调这一点的课程。你可以学习所有最新技术,掌握多种工具并制作最佳图表,但如果无法向客户解释你的分析,那就不是一个好数据科学家。

 

而且不仅仅是客户,你还要与不熟悉数据科学的团队成员合作,如IT,人力资源,财务,运营等。可以确信的是,面试官会一直考察你的沟通能力。

 

作为一个思考练习,假设你使用逻辑回归构建了一个信用风险模型,请花一点时间思考如何向非技术人员解释你是如何得出最终结论的。如果使用过任何技术词汇,你需要尽快加强沟通能力!

 

如何避免该错误?

 

如今大多数数据科学家都来自计算机科学背景,所以我理解这可能是一项难以获得的技能。但要成为一名成功的数据科学家并在职位上有所提升,你别无选择,只能磨练自己的个性。

 

我认为最有用的一点是向非技术人员解释数据科学术语,这可以帮助衡量我对问题认识的清晰度。如果你在中小型公司工作,请在营销或销售部门找一个人并与他们一起做这个练习。从长远来看,它将会给你带来很大的帮助。

 

互联网上有大量的免费资源可以帮助你入门,但请记住,练习是关键。请确保你今天就开始这样做。

 


结语


致力于成为数据科学家的人往往会犯很多其他错误,所以,这绝对不是一个详尽的清单。但,如前所述,这些是我见过的最常见的错误。我的目标是帮助其他人(尽可能多地)避免这些。

 

我很想听听你对这些观点的看法,以及在类似问题上的个人经历。请在下面的评论部分告诉我们!



推荐阅读

(点击标题可跳转阅读)

学习用 Python 编程时要避免的 3 个错误

Web 开发者 vs 数据科学家:谁将统治 Python?

趣图:冒牌数据科学家


觉得本文对你有帮助?请分享给更多人

关注「Python开发者」加星标,提升Python技能

640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值