我曾经了解一些 Java,但那是将近 10 年前的事了。假设我可以学习一门语言来进入数据分析......你推荐什么语言?
成为一名数据科学家需要多少编程背景?
首先,即使在十年前,您已经了解一些 Java 的事实已经意味着您“对编程一无所知”(我建议您更新问题的标题以反映这一点 - 将“一无所知”更改为“一点”)。我想提几点,希望对你有用。
- 就数据科学家所期望(需要)的编程熟练程度而言,以下流行的定义说明了一切:
数据科学家是比任何软件工程师都更擅长统计并且比任何统计学家更擅长软件工程的人。
- 关于编程能力在数据科学家技能集中的作用的另一种观点可以在使用维恩图的流行的数据科学可视化表示中找到。数据科学家 Drew Conway 展示了原始的数据科学维恩图(参见这篇博文):
- 自最初介绍以来,由于各种原因,原始图表被各种人修改。两个有趣的改编是针对社会科学领域的数据科学(http://www.datascienceassn.org/content/fourth-bubble-data-science-venn-diagram-social-sciences),以及数据科学维恩图V2.0,其中数据科学不是知识领域的交集,而是它们的联合(http://www.anlytcs.com/2014/01/data-science-venn-diagram-v20.html)。数据科学技能集的另一个非常有趣和有用的可视化视角,也是基于维恩图,是下面 Gartner 的图,映射了具体的技能到商业智能 (BI) 或商业分析知识领域:
数据科学家的技能集和领域知识的另一种观点是数据科学家的分类法,例如这个分类法,它根据数据科学家的重点(或最强的技能集)对他们进行分类:数学、数据工程、机器学习、商业、软件工程、可视化、空间数据 (GIS) 或其他。
如果您对原始数据科学维恩图中“危险区”的含义感到好奇,这个 Quora 讨论中包含其他不错的答案,以及原始图表作者的回答,可能会非常有帮助。
如果您有兴趣了解对数据科学家有用的一系列技能和知识领域,请查看这个学习数据科学的开源课程:http: //datasciencemasters.org,或在 GitHub 上:https://github。 com/datasciencemasters/去。当然,热门和研究论文、YouTube 上的讲座、MOOC 课程、在线和离线训练营以及丰富的其他资源只需互联网搜索即可。
最后,关于数据科学编程语言的说明。我认为重要的是要了解这方面确实是次要的。重点应该放在两个词上,“数据科学”一词由这两个词组成:数据和科学。关注数据意味着从相应的领域知识角度考虑数据科学(或BI,或分析)任务以及关注数据质量和代表性很重要。关注科学意味着坚持科学的数据收集和分析方法,其中可重复性起着重要作用。数据科学的编程语言只是一种工具,因此应该选择与手头的任务相匹配。Python 和 R 代表了数据科学家非常好的和最流行的编程语言和环境,但是,您应该了解其他选项(工具集)。
数据科学家每天都在编码。但是,你没有背景并不代表你不能学!开始做数据科学你需要知道的编程水平不是很高,但你至少需要:
- 用程序代码来表述问题的解决方案的逻辑思维方式
- 了解该领域所需的编程语言、函数和库。
第一点是两者中最难的。希望您现在已经掌握了足够的数学和物理知识,可以让您的大脑以编程方式思考。如果是这样,那么是的,你绝对可以学习一门语言!那里有指导语法和功能的指南。例如:
- R - Pluralsight
- 通用 Python - http://www.codecademy.com/en/tracks/python
- DataSci Python - https://www.kaggle.com/c/titanic-gettingStarted/details/getting-started-with-python
就个人而言,我会首先推荐 Python。对我来说,该语言更强调可读性和简洁性,使其成为一种出色的第一语言。它也是一种通用语言,所以很高兴知道。虽然我确实从 R 开始,它也很好,但更多的是功能而不是形式的 IMO。尝试两者,看看哪个感觉最好,因为如果你深入研究这个领域,你可能不得不同时选择两者。
根据这个信息图和我读过的其他东西,听起来你需要知道一些编码才能成为一名真正的数据科学家。http://blog.datacamp.com/how-to-become-a-data-scientist/但是你仍然可以成为一个没有 compsci的数据分析师——基本上是一个统计学家。
R 语言是最好的起点。获取一些开放的数据集,并开始使用 r 进行编程。R 有许多不同的分析函数,你可以从中学到很多东西。