什么是数据科学?

数据科学是一个广泛的领域,正在许多行业中迅速扩展。这是你需要了解的关于它的内容。

metrics and data shown on a computer screen

Opensource.com

数据科学是计算机科学的一个分支,涉及捕获、处理和分析数据,以获得关于所研究系统的新见解。数据科学家处理来自不同来源和不同背景的大量信息,因此他们必须进行的处理通常对每个研究都是独特的,利用自定义算法、人工智能 (AI)、机器学习和人工解释。这是一个广泛的领域,正在许多行业中迅速扩展,包括医学、天文学、气象学、市场营销、社会学、视觉效果等等。

为什么数据科学如此重要?

科学是基于收集证据和解释证据以得出逻辑结论。这项原则为文明服务得足够好,促成了跨大西洋飞行、电话、疾病治疗、将探测器降落在火星表面等等。在现代世界中,正在收集大量数据。关于生活方式习惯、饮食偏好、音乐选择、购买习惯、能源消耗、天气系统、迁徙模式、地震活动、飞行时间等等的数据。计算机无处不在,因此几乎不断地向大数据池输入数据。

这比我们以往任何时候都拥有更多关于周围世界的信息,并且它分布在比以往任何时候都更广泛的样本集中。分析大型数据集可能会带来令人惊讶的启示。有时,在以前未曾预料到或仅在之前被理论化的地方会发现模式和相关性。观察和分析环境对于人类学习、成长和成为更明智的物种至关重要。许多数据科学被应用于无聊的追求——有时甚至是道德上可疑的追求——但也有同样多的分析围绕着值得的、健康的和有益的事业进行,开源应该为此感到自豪。

事实证明,开源软件对于数据科学的增长和发展至关重要。

基础设施

由于数据科学分析的数据量巨大,该领域需要坚实的计算基础设施。 数据科学中涉及的数据集通常太大,无法在单台机器甚至小型集群上处理,因此使用混合云来存储和处理信息,并在已解析的内容之间建立关联。这意味着数据科学家的工具箱包括一个像 OpenShift 这样的平台来运行处理服务,像 Apache Hadoop 或 Apache Spark 这样的分布式计算软件,像 CephGluster 这样的分布式文件系统用于可扩展和高可用性存储等等。数据科学家的工作与统计学和数学一样,也与编程和计算机工程有关。

数据科学家做什么?

数据科学家收集数据,解析并规范化数据,然后创建例程让计算机在数据上运行,以搜索模式、趋势或仅仅是一个有用的可视化。例如,如果您曾经从电子表格的字段创建饼图或条形图,那么您就已经充当了低级数据科学家,通过解释数据集并将数据可视化以帮助他人理解它。

当分析数据以寻找模式时,无法告诉计算机要寻找什么(因为“要寻找什么”尚未被发现)。虽然人工智能和机器学习可以清理庞大的数据集以找到任意模式,但需要人类的智慧来寻找非理性的东西并解释所发现的内容。这意味着数据科学家必须能够使用编程语言(如 PythonR、Scala 和 Julia)设计自定义例程。他们必须熟悉重要的库,如 Beautiful Soup、NumPy 和 Pandas,以便他们可以抓取、清理和组织数据。他们需要能够对他们的代码进行版本控制和迭代,以便他们可以成熟和发展他们看待数据的方式,因为他们不断理解他们发现的关系。

如何开始学习数据科学

数据科学是一项职业,因此您无法通过一两年的学习就学到您需要知道的一切并称自己为数据科学家。相反,现在就开始学习,也许是自学,也许是通过正规培训,然后将您学到的知识应用到实际情况中。重复这个过程,直到您解决了世界上所有的问题或退休。

幸运的是,数据科学很大程度上是由每个人都可以免费使用的开源软件驱动的。一个好的第一步是尝试 Linux 发行版,因为它可以作为您工作的良好平台。Linux 是一个开源操作系统,因此它不仅可以免费使用,而且非常灵活,使其成为一个以不断需要适应而闻名的领域的理想选择。Linux 还附带了 Python,Python 是当今数据科学领域的主要语言。 NumPyPandas 库是专门为数值计算和数据分析而设计的,它们的文档非常详尽。

然而,通常情况下,学习新语言或库时最大的困难之一是找到一种方法将工具应用到您生活中的某件事。与许多其他学科不同,数据科学没有错误的答案。您可以将数据科学的原理应用于任何数据集。最坏的情况是,您会发现两组数据之间没有相关性,或者在看似随机的事件中没有模式。但这是有效的研究,因此您不仅会了解数据科学,还会证明或反驳一个假设。

由于开源的影响,开放数据集很容易找到。您可以从 Data.gov世界银行Google(包括来自 NASA、GitHub、美国人口普查局等的数据)以及更多来源获得数据集。这些都是优秀的资源,您可以使用它们来学习如何从网络上抓取数据、将其解析为您可以轻松处理的格式,并使用专门的库对其进行分析。

为什么使用 Python 进行数据科学?

您可以使用几种不同的语言进行数据科学,但 Python 是最流行的语言之一。几乎任何语言都能够分析数据,但某些语言和库的设计都带有一定的期望;例如,NumPy 库提供了处理矩阵的工具,这样您就不必自己编写矩阵库。

Python 作为一种语言,比许多其他语言有一些优势。首先,它以相对容易阅读而闻名。虽然 Python 代码对于完全不熟悉计算机编程的人来说可能没有意义,但它往往比 C 或 C++ 更容易解析。这意味着 Python 更容易被其他人重用,因为他们可以阅读您的代码并了解它声称要做什么,他们甚至可能能够对其进行补充。此外,Python 还有几个专门为数据科学量身定制的强大专用库。由于现有的 Python 数据科学库已经提供了数据科学家经常需要做的许多事情,因此 Python 作为该领域的领先语言赢得了应有的地位。

Python 的所有其他优点都适用,例如 pip 包管理器的便利性、强大的 venv 虚拟环境界面、交互式 shell 等等。

Julia 和 Jupyter

Python 不是唯一能够分析数据的语言,事实上,还有许多其他语言可以说超越了它。Julia 语言因其对性能和数据可视化的关注而受到数据科学家的欢迎。Julia 的受欢迎程度引起了交互式开发环境 iPython 的开发人员的注意。激励他们将项目名称更改为 Jupyter有意将 Julia/Python/R 结合在一起。

今天,Jupyter Notebook 被用于交互式计算,这使得数据科学家在编码时可以获得即时反馈(在代码和视觉上)。查看某人的 Jupyter Notebook 可能是一种多媒体体验,文档和源代码都在同一位置。这是一个强大的工具,但即使您只是在学习编码,也足够容易上手

数据科学与未来

随着计算机的持续普及,可用数据不断增长。如果您是想了解世界如何运作的那种人,那么没有比数据科学更好的起步方式了。无论您在数据科学领域做什么,请记住保持开放,以便每个人都受益。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.