指南
所以,你想成为一名数据科学家?你需要掌握这些技能
这个故事与我通常发布的内容有些不同。它不是关于特定工具和技术的介绍,也不是教程或实际案例。
这次我想回答一个我在开始在小猪AI上发布内容以来一直收到的一个问题:
没有技术背景的人如何成为一名数据科学家?
我不是专家,而且我在这个领域的经验相对较短,但我确实觉得有能力帮助并讨论这个话题。当然,这一切都基于我的观点,没有科学依据。
免责声明:我目前是一名数据分析师,但我已经学习和研究数据科学5年了。你可以说我是一个利用业余时间进行数据分析的数据科学家。
成为一名数据科学家有多种途径,最终取决于你的偏好和需求。
所以我不会在这里讨论具体的途径。你喜欢上大学吗?现在就报名。你喜欢自学吗?这就是我多年来所做的。你喜欢短期课程或训练营吗?那些也很好。
任何选择都可以,我不在这里告诉你应该选择什么。
不过,我可以分享一些我每天都在使用的技术和细节。成为一名数据科学家所必需的工具和语言。
而且这些都是非常基础的。事实上,你甚至不需要阅读这篇文章。只需去LinkedIn上找到一份数据科学家职位的工作机会,并查看要求。你就会了解我们所有人都需要掌握的基础知识。
你会看到我谈到一些你需要掌握的关键主题,并且我将尝试用个人例子来说明每个部分对我个人项目的重要性。
更具体地说,你会看到我谈到Netty和Bazar,这两个我给自己的项目起的名字。继续阅读,了解更多关于它们的信息!
然而,数据科学是一个非常广泛的术语。它就像计算机科学一样。它涉及很多东西,从一个专业化到另一个专业化可能会有很大的不同。因此,我想简要地将数据科学角色分解为一些不同类型。
数据科学家的类型
这可能会引发争议。没有一个真正的数据科学家类型清单;每个人都倾向于制定自己的清单。我在互联网上找到一个对我想要分享的内容非常合适的清单[1]。
这个网站列出了15种不同的类型,解释得非常好,并列出了各自的职责。
如果你想看看它们,可以去看看,尽管有些人可能不认为其中一些角色是真正的数据科学家 —— 角色如数据分析师,数据工程师,业务分析师等等。
最后,似乎对于什么是数据科学家并没有明确的共识!
但我认为这个清单实际上有助于让人们看清楚每个角色的相关内容。它应该帮助新手找到他们的目标,并朝着那个方向发展。
无论你选择什么,核心要求总是相同的。让我们来了解一下。
1. 掌握Python(或R)
Python是数据科学中使用最广泛的语言。这就是为什么你需要掌握它的主要原因。
你可以选择其他语言,如R或Rust —— 最近Rust变得非常出名 —— 但我建议将它们作为第二语言来学习。
就像我们有母语一样,我们每天都使用它,但我们学习第二语言是为了增加我们的选择和工具集。将Python作为你的母语,然后用R、Rust或你感兴趣的任何其他选项来补充你的技能。
根据我的个人经验,这是当今清单上最重要的资产。Python一直是我个人项目和专业项目中使用的主要语言。
例如,我曾经构建过一个名为Netty的数据科学项目,这是我最自豪的项目,它由一个深度神经网络和卷积层以及其他高级技术组成,效果非常好。
Netty的唯一功能就是预测给定NBA比赛的获胜者。我进行了两个完整赛季的每日测试,效果非常好,不是吹牛。
使用Python之外的语言来构建Netty没有任何意义。否则会更加困难,投入的时间效率更低,结果可能会更差。
所以现在不要忽视我。继续学习Python吧,它将带来无价的回报。
然而,如果你讨厌Python或者不想走这条路,我建议学习R。它是数据科学和数据分析方面非常有用的语言,也是一个很好的选择。
此外,在大多数工作机会中,他们要求掌握Python或R,所以掌握其中一种应该就够了。
2. 掌握语言之后,掌握其库
只会使用for循环和条件语句是基础,但这并不能让你脱颖而出。
你需要掌握使Python和R在数据相关任务中如此有用的库和包。
以我通常推荐的Python为例,以下是必备的库:
- Pandas — 强大的数据分析和处理工具。
- NumPy — 任何科学计算都可以依赖它。
- Matplotlib 或 Seaborn — 你会想要可视化数据,这两个库可以满足你的需求。
- Keras , TensorFlow 或 Scikit-learn — 这些库可以让你构建人工智能和机器学习模型。
除了这些,我们还可以谈谈Collections、Statistics、Plotly、Dash、SciPy等等… 但我认为它们不是必须的,或者至少不像前面提到的那些重要。
如果我要重新开始学习,我会首先专注于Pandas、NumPy和Seaborn。一旦我能够熟练操作数据,我会开始使用Keras、TensorFlow或Scikit-learn构建一些模型。
正如你可能已经听说过的那样,据估计,数据科学家将花费80%的时间来检索、清洗和操作数据,而剩下的20%则是建模部分。
这就是为什么我认为Pandas至关重要。我已经使用它几年了,它的多功能性和与NumPy的结合帮助我开发出了令人惊叹的技能和高级项目。
说说Netty,记得我说过它是一个神经网络。你觉得我是怎么做到的?所有的数据清洗和操作都是通过Pandas和NumPy完成的;我当然需要可视化,所以我结合了Matplotlib和Seaborn。当然,酷炫的部分,也就是AI模型,主要是使用Keras,同时也使用了TensorFlow。
就像使用Python而不是其他语言一样,这些库也是同样的道理。它们就像是一套配套的工具。
3. 同时掌握SQL
尽管SQL不能帮助你构建模型和预测系统,但学习如何执行查询和从数据库中检索数据是基础。
我之前说过,我编码的大部分时间都花在Python上… 剩下的时间用于SQL。
不管是职业上还是个人项目,如果数据存储在数据库中(通常是这样),你就必须知道如何检索所需的精确数据。
如果我不懂SQL,我就不会被雇用在我目前的工作岗位上。老实说,如果我不能掌握SQL,我也无法在那里工作。
所以选择任何你喜欢的关系型数据库管理系统(RDBMS),开始学习执行简单的查询吧。我不会深入研究SQL,我认为基本的语句应该足够了。
学习如何进行连接、分组和窗口函数… 只需要熟练掌握它们。
如果你需要一些建议,我喜欢DuckDB [2] ——部分原因是它功能强大,而且与Python的集成非常出色。我发布了一篇介绍和分析它的文章,你可以看一下:
忘记SQLite,使用DuckDB并在以后感谢我
DuckDB及其Python集成简介
towardsdatascience.com
除了DuckDB,我还会考虑SQLite、MySQL或PostgreSQL等其他选择…
在我个人的作品集中,曾经有一个被雇佣的项目叫做Bazar。基本上,它将亚马逊的数据存储在本地的DuckDB数据库中,我用它来追踪我感兴趣的产品的价格,并观察它们何时降价。
这个项目需要大量的SQL查询,虽然不复杂,实际上非常简单,但它们是关键。我需要频繁地提取产品的价格和URL等信息,与实时数据进行比较。
4. 不要害怕数学
我个人热爱数学,很幸运我对它们的兴趣自然而然地产生。
但是,数据科学涉及很多数学知识,无论是直接还是间接的。掌握数学对于理解你所做的事情并做出明智的决策至关重要。
特别关注微积分、代数、统计学和概率论。说起来容易做起来难,我知道。
例如,梯度下降是训练神经网络时最常用的算法之一 —— 是的,我在Netty中也用到了它。梯度下降基本上是使用梯度(导数)来调整构成模型的参数的过程。
我在一些项目中也用到了另一个例子,尤其是在Netty中的分析探索阶段。那里需要应用很多统计学方法:分布、均值、百分位数、偏差… 你必须理解这些。
5. 提升你的可视化能力
这取决于你的角色,但作为一名数据科学家,你可能需要与团队成员或利益相关者分享你的洞见。可视化将非常有用,因此如果你掌握了它们,这将是一项重要的技能。
这里没有花哨的东西,你可以选择专业的软件如PowerBI或Tableau,也可以只使用Python,并使用Plotly和Dash构建令人惊叹的交互式仪表盘。
我将很快发布一篇更深入的关于Dash的文章,但我之前在一篇故事中简要介绍过它,还有其他库。如果你感兴趣,我认为这可能会有用:
使用Python构建交互式数据可视化 —— 讲故事的艺术
Seaborn、Bokeh、Plotly和Dash用于有效传达数据洞见
towardsdatascience.com
事实上,作为数据科学家或分析师,我们需要传达我们的发现。我经常遇到一个简单的可视化足以让利益相关者理解我在说什么。
这就是可视化的魔力和力量:如果它令人惊叹,就不需要太多的话。
但不仅为了别人,也为了自己。再举一个例子,我在Netty中进行了大量的数字调整。一个人可能很容易迷失并不理解自己所看到的。
通过简单的可视化,所有的数据都变得有意义。我现在可以看到模型的准确性和误差在训练阶段随时间的变化。不仅如此,我还可以看到赢家的分布情况(大约60%的时间赢家是主队)和许多非常有价值的新数据。
6. 好奇并积极主动
在掌握了Python、其库、SQL、数学和一些可视化工具之后,你不能止步于此。真正有趣的事情从核心学习之后才开始。
好奇心、主动性、创造力… 它们不是技术工具,但同样重要。
我们需要培养这些技能并学习新的技能。创建我们感兴趣的个人项目,并使用这些工具来创建一个令人惊叹的作品集。
这将最终使您的个人资料与众不同。在简历上列出的东西是不够的。您需要展示您所做的。
提供证明。
好处在于,通过实际完成这些项目,您将在玩乐中学到很多东西。
而且最重要的是:您将被雇佣。
看看我,例如。一个大学辍学的人决定花时间学习很多东西,并创建个人项目来建立一个入门级作品集。
这个作品集引领我走到今天,在一个令人惊叹的公司,拥有令人惊人的福利和令人惊人的文化。
结论
数据科学是一个令人惊人的领域,如果你对数据、数学和预测感兴趣的话,它是一个完美的选择。
成为一名数据科学家需要时间和努力,但很简单。有多种可能的路径,而哪一条路径更好的答案最终取决于个人的偏好。
然而,最基本的所需技能和工具非常直接:数学,利用Python构建模型,操纵和可视化数据,以及与数据库交互。
如果您仍然感兴趣,请加入我们吧!
感谢阅读这篇文章!我真诚希望您喜欢它并从中获得启发。关注我并订阅我的邮件列表,获取更多类似的内容,这对我帮助很大!@polmarin
如果您想进一步支持我,请考虑通过下面的链接订阅小猪AI的会员:这不会花费您任何额外的费用,但将帮助我在这个过程中。
通过我的推荐链接加入小猪AI – Pol Marin
阅读Pol Marin的每个故事(以及小猪AI上成千上万的其他作家的故事)。您的会员费直接支持Pol…
小猪AI.com
资源
[1] 15种不同类型的数据科学家[职责] – 知识小屋
[2] DuckDB