前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【智能】如何成为数据科学家:权威指南

【智能】如何成为数据科学家:权威指南

作者头像
陆勤_数据人网
发布2018-11-08 11:24:43
5910
发布2018-11-08 11:24:43
举报
文章被收录于专栏:数据科学与人工智能

笔者邀请您,先思考:

1 如何成为数据科学家?

数据科学教育家Jose Portilla提供了关于成为数据科学家的权威性指南,其中包括从获取特定技能到寻找第一份工作,再到掌握面试机会的各种资源。

你好!我是Jose Portilla,Udemy的讲师,有超过25万名学生注册了各种各样的课程,包括Python的数据科学和机器学习、R编程的数据科学、Python的大数据等等。

几乎每天都有学生问我这个问题:

我应该怎样做才能成为一名数据科学家?

在这篇文章中,我将尽我最大的努力来帮助回答这个问题,并指出可以帮助你找到答案的资源,也希望这篇文章可以可以快速连接到我的学生。

我最近还在写一本关于数据科学家采访的书!看看这里。

现在继续这篇文章!我将这些步骤分解成一些关键的主题,并讨论了每个主题的有用细节。

旅程

“获得成功的秘诀就是开始。” - 马克吐温

如果您有兴趣成为数据科学家,最好的建议是立即开始为您的旅程做准备!花时间了解核心概念不仅对面试非常有用,而且还可以帮助您确定您是否真正对这一领域感兴趣。

在开始成为数据科学家的道路之前,重要的是你要对自己诚实地说明为什么要这样做。您可能应该问自己一些问题:

  • 你喜欢统计和编程吗? (至少你到目前为止学到了什么?)
  • 您是否喜欢在一个需要不断学习新技术的领域工作?
  • 您是否有兴趣成为数据科学家,即使它只是支付平均工资?
  • 你还可以使用其他职称(例如数据分析师,业务分析师等)吗?

问自己这些问题并对自己诚实。如果您回答是,那么您即将成为数据科学家!

成为数据科学家的道路很可能会花费你一些时间,具体取决于您以前的经验和网络。利用这两者可以帮助您更快地完成数据科学家的角色,但要随时准备好学习!现在让我们开始讨论一些更切实的主题!

数学

“不要担心你在数学方面的困难。 我可以向你保证,我的生活还会更大。“ - 爱因斯坦

如果你想进入数据科学,你应该熟悉的关于数学的主要话题是概率,统计和线性代数。随着您对统计学习(机器学习)等其他主题的了解越来越多,这些核心数学基础将成为您继续学习的基础。让我们简要介绍一下,并为您提供一些可供学习的资源!

概率 - 衡量事件发生的可能性。许多数据科学都是基于尝试测量事件的可能性,从点击广告的几率到装配线上零件失败的可能性。

对于这个经典主题,我建议读一本书,例如Sheldon Ross的《A First Course in Probability》E.T. Jaynes的《Probability Theory》。由于这些是教科书,如果你直接从亚马逊购买新产品,它们可能相当昂贵,所以我建议在网上或pdf版本查看旧版本以节省一些钱!

如果您更喜欢通过视频格式学习,您还可以查看可汗学院关于概率的视频系列。您还可以查看麻省理工学院关于概率和统计学的OpenCourseWare讲座。只需简单搜索,即可在Youtube上轻松找到。

统计学 - 一旦掌握了概率理论,就可以继续学习统计学,这是数学的一般分支,用于分析和解释数据。充分了解统计中使用的技术需要您理解概率和概率符号!

再说一次,我更像是一个教科书的人,幸运的是有两本很棒的在线教科书完全免费供你参考:

  • http://www.statsoft.com/Textbook
  • http://onlinestatbook.com/2/index.html

如果你更喜欢老式的教科书,我喜欢David Freedman的《Statistics》。我建议使用本书作为您的主要基础,然后查看此处列出的其他资源,以深入了解其他主题(如ANOVA)。

对于实践问题,我非常喜欢使用Shaum的提纲系列(你可以在这个系列中找到概率和统计学的书籍)。

如果您更喜欢视频,请查看Brandon Holtz关于Youtube统计数据的精彩系列!

线性代数 - 是数学的分支,涵盖了向量空间和这些空间之间的线性映射的研究。它在机器学习中大量使用,如果你真的想要理解这些算法是如何工作的,你需要建立对线性代数的基本理解。

我推荐查看Strang的《Linear Algebra and Its Applications》,这是一本很棒的教科书,也可以在MIT线性代数课程中使用,你可以通过OpenCourseWare访问!有了这两个资源,您应该能够在线性代数中建立坚实的基础。

根据您的位置和工作流程,您可能不需要深入研究线性代数的一些更复杂的细节,一旦您更熟悉编程,您会发现某些库倾向于处理大量的线性代数任务。但了解这些算法的工作原理仍然很重要!

编程

“通过代码行测量编程进度就像按重量衡量飞机制造进度一样。” - 比尔盖茨

数据科学界主要采用R和Python作为编程的主要语言。 其他语言如Julia和Matlab也被使用,但R和Python是迄今为止在这个领域最受欢迎的语言。

在本节中,我将描述编程和数据科学的一些主要基本主题,然后指出用于R和Python的主要库!

开发环境

这个主题非常依赖于您的个人偏好,我将简要介绍一些使用R和Python进行数据科学开发环境(IDE)的更流行的选项。

Python - 由于Python是一种通用编程语言,因此可以使用许多选项!您可以使用纯文本编辑器,如Sublime Text或Atom,然后根据自己的喜好进行自定义,我个人将此方法用于大型项目。另一个流行的python IDE是来自JetBrains的PyCharm,它提供了一个免费的社区版本,为大多数用户提供了大量功能。我最喜欢的Python环境必须是Jupyter笔记本,以前称为iPython笔记本,这个笔记本环境使用单元格来分解代码并提供即时输出,因此您可以轻松地与代码和可视化进行交互!尽管其他语言一直在改进,但Python是迄今为止所有这些中最好的支持! Jupyter笔记本在数据科学和机器学习领域非常受欢迎。我将它用于我所有的Python课程,大多数学生都非常喜欢它。虽然可能不是需要部署的大型项目的最佳解决方案,但它对于学习环境来说非常棒。

至于在您的计算机上安装Python,您可以随时使用官方源代码 - python.org,但我通常建议使用Anacondadistribution,它将包含我将在本节中讨论的许多软件包!

R - RStudio可能是R最受欢迎的开发环境。它背后有一个很棒的社区,它的基本完整版本是完全免费的。它可以很好地显示可视化,为您提供了许多自定义体验的选项。这几乎是我用R去做的事情! Jupyter笔记本也支持R内核,虽然我已经使用它们,但我发现与Jupyter Notebook的Python功能相比缺乏经验。

数据分析

Python - 对于数据分析,两个库是Python的主要工具:NumPy和Pandas。 NumPy是一个数字科学计算软件包,它是Python Data Science生态系统中几乎所有其他Python软件包的基础。 Pandas是一个直接由NumPy构建的数据分析库,旨在模仿许多R的内置功能,例如DataFrames!您可以将其视为Excel的超级版本,它允许您快速清理和分析数据。如果您成为使用Python的数据科学家,熊猫将很快成为您的主要工具之一!这是我最喜欢的Python库!我还建议查看SciPy以获取PyData系统中库的详细信息和链接。

R - 在大多数情况下,R已经内置了许多数据分析功能,例如Dataframes!但是R社区也创建了许多有用的软件包来帮助以更有效的方式处理数据!这些软件包被称为“tidyverse”,它是一组有用的数据科学软件包,所有这些软件包都设计有类似的数据处理理念,这意味着它们可以很好地协同工作。这些软件包包括用于数据操作的dplyr,用于清理数据的tidyr,用于读取数据的readr,以及用于改善R的一些内置功能的包,如purr和tibble。学习tidyverse包是使用R的数据科学家必须的! ggplot2也是tidyverse的一部分,但是用于数据可视化,所以让我们接下来跳到那个主题吧!

数据可视化

Python - Python可视化的“祖父”是matplotlib。创建Matplotlib是为了提供Python的可视化API,让人联想到MatLab中使用的样式。如果您之前使用过MatLab进行可视化,那么过渡将会非常自然。但是,由于其庞大的功能库,matplotlib创建了许多其他可视化库,以简化操作或提供更具体的功能!

Seaborn是一个很棒的统计绘图库,可以很好地处理pandas并使用matplotlib编写。它只需几行代码即可创建漂亮的图形。 Pandas还具有内置的matplotlib绘图功能!

Plotly和Bokeh可用于使用Python创建交互式图。我建议两者兼顾,看看你喜欢哪一个!

R - 到目前为止,最流行的R绘图库是ggplot2。它的设计哲学及其基于图层的API使其易于使用,并允许您基本上制作您能想到的任何主要图表!同样很棒的是可以轻松使用Plotly,允许您通过使用ggplotly快速将ggplot2图转换为交互式可视化!

机器学习

Python - SciKit-learn是最流行的Python机器学习库,内置算法和模型用于分类,回归,聚类,降维,模型选择和预处理。如果您对构建统计推断模型更感兴趣(例如在线性回归后分析p值),您应该查看statsmodels,它也是处理时间序列数据的绝佳选择!对于深度学习,请查看TensorFlow,PyTorch或Keras。由于其简化的API,我建议Keras适合初学者。对于深度学习主题,您应该始终参考官方文档,因为这是一个变化非常快的领域!

R - 初学者数据科学家R的一个问题是它在机器学习方面有很多选择。每个主要算法都可以有自己独立的包,每个包都有不同的关注点。当您开始时,我建议首先使用caret包,它为分类和回归任务提供了一个很好的接口。一旦你转向无监督学习技术,如聚类,最好的办法是快速谷歌搜索,看看哪些软件包最适合你打算使用的技术,你甚至会发现R已经有了一些内置的基本算法,例如kmeans聚类。

在哪里学习这些库和技能?

我全面教授这些主题,您可以使用以下链接查看课程95%的折扣。

我的Python数据科学和机器学习训练营:

基于Python的数据科学和机器学习训练营 了解如何使用NumPy,Pandas,Seaborn,Matplotlib,Plotly,Scikit-Learn,机器学习,Tensorflow等等!

我的R数据科学,可视化和机器学习课程:

基于R的数据科学与机器学习训练营

学习如何将R编程语言用于数据科学和机器学习以及数据可视化!

现在我们已经了解了编程主题的一般背景,让我们讨论实际找到数据科学工作的途径!

社区

“旅途中的好伙伴让路看起来更短。” - Izaak Walton

寻找数据科学家职位可能需要一段时间,最好开始构建您的网络! 开始构建网络的最佳方法之一是参加涉及数据科学的聚会!但是你不需要严格限制于数据科学,你应该参加与数据科学相关的任何主题的聚会,比如Python聚会,可视化聚会等。

会议是连接数据科学家的另一种很好的方式,而许多会议可能会非常昂贵,会议通常会在展会期间举办招聘会。如果您只打算参加职业展览会,您通常可以获得折扣甚至是免费的会议通行证。会议还经常举办研讨会,让您学习新技能!

您还应该开始查看在线社区和资源,像O'Reilly数据订阅,Kaggle和KDnuggets这样的资源可以帮助您了解数据科学社区正在发生的事情。播客是另一种开始学习数据科学社区的好方法。我建议查看Talking Machines,Partially Derivatives和O'Reilly Data Show。

求职和面试

“如果我们有数据,让我们看看数据。 如果我们所有人都有意见,那就让我们去吧。“ - James L. Barksdale

所以你已经学会了你的技能,网络化,现在已经准备好开始作为数据科学家工作了!

求职

第一步是开始寻找新工作,其中很多都会根据您的个人情况和目标而有所不同,所以我会尽量保持一般的建议。

同时开始搜索和练习技能的最佳方法之一是参与Kaggle挑战并发布有关您的试验的博客。一些Kaggle挑战甚至可以直接把面试作为奖品的一部分!即使没有奖品,它在真实数据集上的宝贵经验!请注意,Kaggle还拥有自己的数据科学家工作板。

通过UpWork等网站进行自由职业,为开源项目做贡献,以及回答有关StackOverflow的问题,这是让招聘人员了解您的存在的另一个好方法。

您还需要确保您的简历,LinkedIn和Github都已更新,以反映您的新技能和项目。

对于一般的求职利用类似Indeed或DataJobs网站,尝试网站如Triplebyte直接给你一系列的技术访谈,可以快速通过很多公司的初次面试阶段。您还可以使用AngelList Job board和HackerNews Job Board查看工作板。

面试

无论好坏,许多公司仍然依赖涉及数据结构和算法的经典面试问题。要准备这些问题,您应该查看主题,如数组,图表,递归,链接列表,堆栈等…您应该参考书籍或课程,并经历许多练习问题!我有关于这些主题的课程,您可以通过查看我的热门github存储库免费查看一些材料,其中包含许多带有练习题和解决方案的jupyter笔记本!

基于Python的算法,数据结构和面试。

您还可以查看leetcode上的练习题列表

问题 - LeetCode

提高您的编码技能并快速找到工作。这是扩展知识并做好准备的最佳场所……(leetcode.com)

对于更具体的数据科学问题,您需要熟悉各种主题,例如概率问题,R或Python编程问题,SQL查询以及可能的大数据管理(Spark等主题)。您还应该熟悉建模和选择参数背后的原因,例如L1和L2正则化之间的差异。

您在阅读中有什么想法,请留言。 原文链接: https://www.kdnuggets.com/2017/08/become-data-scientist-definitive-guide.html

版权声明:作者保留权利,严禁修改,转载请注明原文链接。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 旅程
  • 数学
  • 编程
  • 社区
  • 求职和面试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档