本文翻译自Thomas Nild的文章
2019年如何学习数据科学

通过树木(决定)对(随机)森林的愿景

Thomas Nield
关注 2月4日
10分钟阅读
以下内容的灵感来自于一篇关于
2016年学习JavaScript的感受的文章
。 不要太在意这篇文章。 这是讽刺,所以不要把她当作生活建议。 像所有技巧一样,其中一些有用,而另一些则很愚蠢。 本文只是与数据科学定义非常相似的观点。
我听说这是对您的建议。 感谢您认识我,也感谢您喝咖啡。 您知道数据科学,对吗?
好吧,是的,我知道。 去年,我去了 PyData 和 O'Reilly Strata (关于数据分析的会议-大约每人)。在我的帐户中,有几个模型。
是的,我听说上周您为我们公司做了一个关于机器学习的精彩演讲。 我的同事说这很有帮助。
哦,猫狗照片分类器? 是的,谢谢。
简而言之,我决定不再忽略数据科学 , 人工智能和机器学习 。 我曾担任分析师和顾问多年,在Excel中重新排列数字,创建数据透视表和图表。 但是 ,我无时无刻都看到有文章说,即使像我这样的白领工人,人工智能也能胜任工作。

这就是成为一名自信的数据科学家所需要的(截至2013年)。 可以实现的,对吧? ( 资料来源:Swami Chandrasekaran )
我用谷歌搜索了如何成为科学家约会对象,找到了这个“计划”并了解了生存危机。 让我问,我真的必须掌握这张图中的所有内容才能成为科学家约会吗?
我会简要回答-不。 没有人使用这个计划。 他是2013年。 它甚至没有TensorFlow,并且可以简单地删除其中的一些路径。 我认为当时“数据科学”已经变得更加复杂和专业。 最好使用其他方法。
好吧,好一点。 那我还是应该回到学校吗? 我在某处读到许多日期,科学家至少拥有硕士学位。 我应该获得数据科学硕士学位吗?
主啊,你为什么需要这个? 通常,您应该对“数据科学”的培训领域保持谨慎,该领域大体上是重新设计的“业务分析”课程。 此外,现代学者往往落后于该行业,并且可以教授过时的技术。 为了保持最新状态,您最好在Coursera,Stepik或Khan Academy进行自学。
这是怎么回事。
虽然如果您上大学,也许然后是物理或数学方法进行研究操作? 很难说。 奇怪的是,我认识的许多约会很好的科学家都来自这些领域。 您也许可以找到一个好的数据科学培训计划。 我不知道,请与这位理学博士交谈,他会告诉你他的位置。
那么如何开始自我教育呢? LinkedIn上的某人说,对数据科学感兴趣的人应该从探索Linux开始。 然后在Twitter上,我读到其他人坚持认为,科学家应该研究Scala的日期,而不是Python或R。
好吧,这个家伙在LinkedIn上冻结了。 至于Scala的“专家”,如果您全力以赴,那么请,但不要在这个游泳池中。 相信我 已经在院子里了2019。 Scala在数据科学界已经存在很长时间了。 如果是这样, PySpark将不会出现。 当然,不要听那些总是谈论Kotlin的时髦人士。
好吧 R呢? 似乎人们喜欢它。
R擅长数学建模,仅此而已。 使用Python,您将获得更多的培训投资,并且可以执行更广泛的任务,例如收集数据和设置网络服务。
但是R在Tiobe中仍然占有很高的地位,并且他拥有大量的追随者和资源。 使用它-伤害自己?
看,您可以使用R。如果您只是对数学感兴趣,那么它当然值得商,,但是更好,但是甚至更好,它可以与Tidyverse一起使用 。 但是数据科学仍然很多,比数学和统计学要多得多。 相信我,在2019年的Python中,您可以走得更远。
好的,所以...显然我正在学习Python。
您不会后悔的。
Python复杂吗? 机器人接管后,我会和他一起漂浮吗?
好吧,当然,Python是一种相当简单的语言。 有了它,您可以使许多任务自动化并制作精美的nishtyaki 。 但是您甚至不需要Python。 数据科学不仅仅是脚本和机器学习。
什么意思
好吧,这些只是工具。 您使用Python从数据中获取信息。 有时它需要机器学习,但在大多数情况下不需要。 数据科学可能只是意味着创建图表。 实际上,您甚至不需要学习Python,只需使用Tableau。 他们宣传说, 只要使用产品 ,就可以“让组织中的每个人成为科学家的约会对象”。

Tableau相信他们可以解决科学家缺乏日期的人员问题。
停什么 因此,我只是购买Tableau的许可证,我现在是科学家日期吗? 好吧,让我们带着怀疑的态度谈论这个商业报价。 也许我是一个无知的人,但是我知道数据科学不只是创建漂亮的可视化。 我也可以在Excel中执行此操作。
当然可以 但是,必须承认这是很好的营销。 固然,制图很有趣,但是他们错过了清除,处理,修改和加载数据所花费的所有痛苦和大量时间。
是的,这就是为什么我怀疑学习代码的价值所在。 让我们谈谈Python。
稍等一下 也许您应该学习Alteryx。
什么啊
还有另一个名为Alteryx的软件,可让您清理,处理,修改和下载数据。 这很棒,因为它使用拖放来组合数据和...

Alteryx还承诺没有代码的“数据科学”。
天哪,请停下来。 不再需要拖放。 我想学习Python,而不是Alteryx或Tableau。
好,对不起 我只是想让您的生活更轻松,避免编码。 也许我这样做也是因为我们公司购买了我们应该使用的许可证。 但是无论如何,要使用Python,您需要研究几个库,例如用于管理DataFrame的Pandas和用于创建图表的matplotlib。 一般划掉matplotlib。 剧情地使用。 它使用d3.js,通常更好。
我知道你说的一些话。 但是什么是DataFrame?
嗯,这是具有行和列的表格形式的数据结构。 您可以使用Python中的DataFrame进行所有这些很酷的转换,数据透视表和聚合。
等待,这与Excel有何不同? 自大学毕业以来,我一直在做所有这一切。 这是否意味着我已经是科学家约会了?
当然,如果您受宠若惊就这么称呼自己。 每当我参加聚会或写简历时,我都会公开宣布这个自称的头衔。
那么,Python与Excel有何不同?
Python的不同之处在于,所有事情都可以在Jupyter笔记本电脑中完成 。 您可以执行数据分析的所有阶段,笔记本电脑可以直观地看到每个步骤。 就像写一个可以与他人分享的故事一样。 毕竟,交流和故事是数据科学的重要部分。
听起来像PowerPoint。 我已经做过了 我很困惑
天哪 笔记本电脑更加自动化和优化,这使跟踪分析的每个步骤变得容易。 但是,如果您考虑一下, 我只是想起有些人根本不喜欢笔记本电脑,因为其中的代码不太容易重用。 如果您需要将代码转换为软件产品,则可以更轻松地在笔记本电脑外部的模块之间分配代码。
那么,数据科学现在也是软件开发吗?
也许吧,但是不要让我们分心。 首先,还有很多紧急的事情需要学习。 要进行数据科学,您显然需要数据-数据。
当然可以
对于初学者来说,没有什么比从可以转储到硬盘驱动器的相同Wikipedia页面上在网络上收集数据更好的了。
等一下,我们又要努力实现什么?
好吧,我们正在尝试获取一些实践数据。 抓取网页并使用Beautiful Soup对其进行解析将为我们提供大量可用于处理的非结构化文本数据。
我很困惑 我刚读完一本出色的130页SQL书籍 ,我以为我会查询表,而不是浪费互联网。 SQL并不是访问数据的典型方法吗?
好吧,我们可以使用非结构化文本数据来做很多有趣的事情。 我们可以使用它们对社交网络或其他自然语言处理的消息中的情绪进行分类。 NoSQL非常适合存储此类数据,因为我们可以存储大量数据,而不必担心使其适合于分析。
我听说过NoSQL。 那是SQL吗? 反SQL? 等等,我认为这与大数据有关,对吗?
好吧,首先, “大数据”来自2016年。大多数人不再使用该术语,所以这么说并不是很酷。 像许多炒作技术一样,它也达到了顶峰,仅在少数几个地方得到了应用。 但是NoSQL本质上是“大数据”运动的结果,这种运动孕育了MongoDB等平台。
可以,但是“ NoSQL”这个名字是从哪里来的?
NoSQL的含义不仅是“ SQL”,而且还支持关系表之外的数据结构。 但是,NoSQL数据库通常不使用SQL,而是使用它们自己的查询语言。 这是MongoDB与SQL的比较:

哦,天哪,这太可怕了。 那么您说每个NoSQL平台都有其自己的查询语言吗? SQL有什么问题?
知道了 使用SQL,一切都井井有条,只不过它已有数十年的历史了。 对非结构化数据的狂热已经成为了以以前无法访问的方式做新的事情并进行广泛扩展的机会。 但是,我认为越来越多的人得出这样的结论:保存SQL是有意义的 。 这大大简化了分析。 如此之多,以至于许多NoSQL和“大数据”技术都争相添加某种形式的SQL 。 毕竟,SQL是一种相当通用的语言,即使有些人难以使用。
哇好 因此,我意识到,作为科学家的约会对象,对我来说学习NoSQL并不重要,除非我的工作另有要求。 听起来我只知道SQL是很安全的。
我思考的越多,我越相信是的,您是对的,但是直到您被吸引成为数据工程师为止。
数据工程师?
是的,科学家的日期好像分为两个专业。 数据工程师使用生产系统并帮助使数据和模型适合使用,但是他们很少参与机器学习和数学建模,而这反过来仍然是科学家的约会之日。 这可能是必要的,因为大多数人力资源和招聘人员看不到“日期科学家”的头衔 。 想想看,如果您想成为一名数据工程师,我会特别注意学习Apache Kafka,而不是NoSQL。 Apache Kafka现在只是一颗炸弹。
现在,此维恩图将为您提供帮助。 要获得“日期科学家”的头衔,您需要身处数学/统计界,最好是与另一门学科相交。

数据科学维恩图
好吧,现在我不知道我是否想成为数据科学家或数据工程师。 让我们继续前进。 那么,回头来说,为什么我们要解析维基百科页面?
好吧,它们是自然语言处理的输入,借助它们,您可以进行聊天机器人等操作。
Microsoft的Tay怎么样? 这个机器人会足够聪明地预测销售量,并帮助我发布具有适量库存的新产品吗? 他是否有不可避免地会成为种族主义者的风险?
从理论上讲,有。 如果您向他提供新闻文章,则可以创建一个定义一些趋势的模型,从而为业务决策提供建议。 但这确实很困难。 仔细考虑,这可能不是开始的最佳选择。
那么,自然语言处理,聊天机器人和非结构化文本数据可能不适合我?
也许吧,但请记住,数据科学现在无处不在。 诸如Google和Facebook之类的硅谷公司处理大量非结构化数据(例如社交媒体帖子和新闻文章),并且显然对“数据科学”的定义产生了很大影响。 好吧,其余的人,像我们一样,以关系数据库的形式使用业务交易数据,而SQL等不太启发性的技术。
听起来很可信。 我假设他们将自己的才能专门用于非结构化数据领域,主要用于提取用户消息,电子邮件,用于广告和其他恶意目的的故事。
就是这样 您知道,朴素的贝叶斯分类器可能看起来很有趣并且对您有用。 您可以获取文本并为其预测类别。 从头开始很容易实现:
使用朴素的贝叶斯分类器对文本正文进行分类
你说得对,他很酷。 但是除此之外,我认为非结构化数据没有任何价值。
然后继续前进。 因此,您正在使用表格数据:电子表格和一堆记录的数字。 听起来好像您想进行预测或统计分析。
是的,我们终于找到了答案! 最后,我们将解决实际问题。 因此,这现在将成为神经元和深度学习的主题吗?
电子同性恋,牵着马。 我建议从均值和标准差的正态分布开始。 也许用z分数和一两个线性回归来计算概率。
但是话又说回来,我可以在Excel中完成所有操作! 不能吗
好吧...嗯...是的,没错,您可以在Excel中完成很多上述工作。 但是在编写脚本时,您会获得更大的灵活性。
如何使用VBA? 视觉基础
好吧,我会重新开始,假装你没有那么说。 Excel具有出色的统计运算符和良好的线性回归模型。 但是,如果您需要为每种类别的元素进行单独的正态分布或回归分析,则编写Python脚本比创建地狱公式要容易得多,该公式的长度可以成为到月球距离的度量。

当您精通Excel时,会给与您一起工作的每个人带来痛苦。 (当您精通Excel时,周围的每个人都会感到痛苦)
您可以使用很酷的scikit-learn库。 有了它,您将获得更多强大的机会来进行各种回归和机器学习。
好吧 因此,现在看来,对话正在进入数学建模领域。 这是我面前的一堆数学问题,我应该从哪里开始?
嗯,在传统的观点中,线性代数是数据科学中许多模块的基础,因此就需要从它开始。 矩阵的乘法和加法(所谓的标量积)-这是您一直都会做的事情,并且还有其他重要概念,例如行列式和特征向量。 3Blue1Brown几乎是找到线性代数直观解释的唯一通道。

那么...将一个矩阵与另一个矩阵相乘/相加-这是我主要要做的事情? 听起来真的毫无意义而且很无聊。 你能举个例子吗?
好吧...机器学习! 在进行线性回归或构建自己的神经网络时,您将不得不使用随机权重值多次执行矩阵乘法和缩放。
好的,矩阵与数据帧有关吗? 他们听起来像。
等一下...我重新考虑了。 让我们回到这句话。 实际上,您不需要做线性代数。

哦,加油! 真的吗 那么我应该学习线性代数吗?
实际上,您可能不需要学习线性代数。 TensorFlow和scikit-learn之类的库将为您做一切。 最后,这确实很累人和无聊。 当然,您可以了解并了解这些库的工作方式。 但就目前而言,只需开始使用机器学习库并完全忽略线性代数即可。
您的不安全感使我担心。 我可以相信你吗?
表示至少一点尊重! 我只是把你从另一个水池中拉了出来。 一点也不。
哦
然而,直到我忘记了。 您自己不使用TensorFlow。 将它与Keras一起使用是因为TensorFlow更加容易。
如果回头,线性回归真的与机器学习有关吗?
是的,线性回归包含在“机器学习”工具列表中。
太好了,我一直在Excel中这样做。 那么我也可以称自己为机器学习从业者吗?
*叹气*从技术上讲,是的。 但是,您可能想扩大视野。 您会看到,机器学习(无论技术如何)通常包括两个任务:回归和分类。 从技术上讲,分类是回归。 决策树,神经网络,支持向量法,逻辑回归和是……线性回归-它们都适合曲线。 每个模型都取决于情况,各有利弊。
等等,机器学习仅仅是回归吗? ?
. , , , , , . — . , , 2-3 , , .
, , . — ?
. . : . , () , , . , , , , , .
.
(!)
, ? ? ?
, , , , data science . “ ” .
, . , ?
, . , . «», , .
?
, , . , . , , , .
, ?
* * - , . , , . , : , , . .
, - , , , ?
, . , . … , « », , , . , .
, — , , ? … ? «», ?
, , ( ) , , . , , .
. , DeepMind , StarCraft! ! , ?
StarCraft ?
( )
, StarCraft ?

StarCraft, - StarCraft? : StarCraft. , , .
, . , … , , -. , , — . .
- Data Science , . , .
, ? «data science», … … . .
, . .
谢谢啦 我需要散散步,考虑一下。如果我什么都不懂,我认为我在Excel中的工作可以称为“数据科学”。虽然我不知道我是否想要科学家日期标题。看起来可能是任何东西。我可以把时间花在别的事情上。希望在数据科学之后出现的下一个“ New Hit”将不再那么疯狂。
也许您应该在IBM工作一段时间?
怎么了
听说过量子计算吗?