本文转载自公众号“读芯术”(ID:AI_Discovery)。
两年来,我一直都在独立研究数据科学的概念。写这篇文章的初衷是想向那些迷茫的人介绍我的观点,希望能与初入行的数据科学家分享这两年中的收获。
先成为一名优秀的程序员和统计学家
了解数据科学的基本原理会让生活更加轻松,并且从长远来看可以节省时间。几乎所有的机器学习概念和算法都基于统计和概率,除此之外,许多其他数据科学概念(例如A/B测试)也属于纯统计范畴。
归根结底,编程和统计知识影响一名数据科学家的能力上限。在学习其他内容之前,必须具有良好的编程和统计基础。从长远来看,它将为你节省更多时间。
将更多的时间花在个人数据科学项目上,而非在线训练营
这可能是一个有争议的观点,请容许我先提出几点声明:
- 这完全基于我听闻的实例以及我对同行的观察。
- 这里指的并不包括一些优秀在线课程,例如deeplearning.ai的课程。
- 当然,如果没有其他选择,参加训练营有胜于无。
在线训练营存在一些问题。就内容的深度而言,它们往往非常浅显。不仅如此,而且它们还容易使人对所学材料产生错误的理解。
它们也不太适合保留学习信息。花费越多的时间学习某个课题,就越想留存相关信息。但这些训练营,尤其是那些宣传为“在5周内成为专家”的训练营,没有给你足够的时间来真正沉淀所学的知识。
他们通常没有足够的挑战性。许多训练营和课程只是要求你遵循并重复他们的代码,而不进行批判性或深入性的思考。
而个人数据科学项目使你不得不独自批判性地思考问题和解决方案,这是一种很好的学习方法。这样学到的知识远超过任何训练营所教授的。你将学会如何提出正确的问题,如何用Google查询正确的问题,如何构建自己想要的数据科学项目,如何变得有条理等。
投放更多精力到自己的项目中,你也会更有动力去学习更多知识、投入更多时间,从而形成积极的反馈循环。因此,少花时间参加数据科学训练营,将更多的时间用于个人数据科学项目吧。
专注于一些精选工具
大量数据科学包和工具让你得以组建适合自己的个性化数据科学工具箱。然而,这也使人易于在一条错误的路上一去不复返:过于追求软件包和工具的学习数量。精通一些工具比使用不熟练的工具做表面工作要好得多。在简历中列出所有技能和工具不应该是最终目标!
举个例子,这些数据可视化软件包都很优质:Matplotlib、Seaborn、Plotly、Bokeh等等,但你不需要花时间去掌握所有,这是在浪费宝贵而有限的时间。
如果你想用Pandas来处理数据,那就要好好地利用它。如果你更喜欢NumPy,那就用NumPy。的确,理想情况下你能同时擅长Pandas和NumPy,但我认为,专注其中一个并精通它比左顾右盼要好得多。
同样的道理也适用于:
- Python与R
- Tensorflow与 Pythorch
- Postgresql与MySQL
我建议你建立自己的数据科学工具箱并专注于此,精通5个工具比不熟练使用20个工具要好。
了解各种机器学习算法仅占数据科学的一小部分
就个人而言,数据科学吸引我的是所有不同的机器学习模型,它们如何工作以及它们如何发挥效用。我花了至少六个月的时间来学习和尝试几种不同的机器学习模型,才意识到它是数据科学家所需了解内容的一小部分。
数据建模只是整个机器学习生命周期的一部分。你还需要了解数据收集,数据准备,模型评估,模型部署和模型调优。在实际项目中,大部分时间都消耗在了数据准备而不是数据建模(机器学习建模)上。
除此之外,你还需要学习其他一些知识,例如版本控制(Git),从API中提取数据,了解云计算等等。不要将所有时间都花在尝试掌握每种机器学习算法上。
负担综合症非常常见
图源:unsplash
从我开始学习数据科学的第一天到如今,我经常体会到负担综合症,但我知道那是完全正常的。为什么对数据科学家来说,负担综合症很常见也很正常?
- “数据科学”是一个非常模糊的术语,它是一个跨学科的领域,包括统计学、程序设计、数学、商业理解、数据工程等。除此之外,数据科学家还有很多同义词(数据分析员、数据工程师、研究科学家、应用科学家)。你永远无法成为数据科学所涵盖所有领域的专家,你也不应该觉得自己必须做到这一点。
- 与编程和技术领域的其他学科一样,数据科学也在不断发展。20年前,Pandas还没有被创造出来。5年前,Tensorflow才发布。总会不断有需要你学习的新技术出现。
- 你不可能在所有领域成为专家,这意味着总会有人在你花更少时间的事情上做得更好,这没有什么关系。
作为一名数据科学家,你时常会感觉到负担综合症,放轻松,专注于自己的事业。
数据科学之旅教会我很多道理,希望这些道理能帮助迷茫的你突破瓶颈。