数据科学是一个广泛的领域,在许多行业中迅速扩展。以下是您需要了解的相关信息。

Opensource.com
数据科学是计算机科学的一个分支,涉及捕获、处理和分析数据,以获得对所研究系统的新见解。数据科学家处理来自不同来源和不同背景的大量信息,因此他们必须进行的处理通常对每个研究都是独特的,利用自定义算法、人工智能 (AI)、机器学习和人工解释。这是一个广泛的领域,在包括医学、天文学、气象学、市场营销、社会学、视觉效果等等在内的许多行业中迅速扩展。
为什么数据科学如此重要?
科学基于收集证据和解释证据以得出逻辑结论。这项原则为文明服务得足够好,从而实现了跨大西洋飞行、电话、疾病治疗、火星表面探测器着陆等等。在现代世界中,正在收集越来越多的数据。关于生活方式习惯、饮食偏好、音乐选择、购买习惯、能源消耗、天气系统、迁徙模式、地震活动、飞行时间等等的数据。计算机无处不在,因此几乎不断地向大数据池输入数据。
这是比以往任何时候都更多的关于我们周围世界的信息,而且它比以往任何时候都分布在更广泛的样本集中。分析大型数据集可能会带来令人惊讶的启示。有时会在以前未预料到或仅在先前被理论化的地方发现模式和相关性。观察和分析环境对于人类学习、成长和成为更明智的物种至关重要。许多数据科学被应用于无聊的追求——有时甚至是道德上可疑的追求——但是,围绕有价值的、健康的和有益的事业,正在进行同样多的分析,开源应该为支持这些事业而感到自豪。
事实证明,开源软件对于数据科学的增长和发展至关重要。
基础设施
由于数据科学分析的大量数据,该领域需要坚实的计算基础设施。 серьезные 数据科学中涉及的数据集通常太大而无法在单台机器甚至小型集群上处理,因此使用混合云来存储和处理信息,并在已解析的内容之间建立关联。这意味着数据科学家的工具箱包括像 OpenShift 这样的平台,用于运行处理服务、像 Apache Hadoop 或 Apache Spark 这样的分布式计算软件,像 Ceph 或 Gluster 这样的分布式文件系统,用于可扩展和高可用性存储等等。数据科学家的工作与统计学和数学一样,也与编程和计算机工程有关。
数据科学家做什么?
数据科学家收集数据,解析和规范化数据,然后创建例程,让计算机在数据上运行,以寻找模式、趋势或只是有用的可视化。例如,如果您曾经从电子表格的字段创建饼图或条形图,那么您就已经充当了低级数据科学家,通过解释数据集并将数据可视化以帮助其他人理解它。
当分析数据以寻找模式时,无法告诉计算机要寻找什么(因为“要寻找什么”尚未被发现)。虽然人工智能和机器学习可以清理庞大的数据集以查找任意模式,但需要人类的独创性来寻找非理性的东西并解释所发现的东西。这意味着数据科学家必须能够使用像 Python、R、Scala 和 Julia 这样的编程语言来设计自定义例程。他们必须熟悉重要的库,如 Beautiful Soup、NumPy 和 Pandas,以便他们可以抓取、清理和组织数据。他们需要能够对他们的代码进行版本控制和迭代,以便他们能够成熟和发展他们看待数据的方式,因为他们会继续理解他们发现的关系。
如何开始学习数据科学
数据科学是一项职业,因此您无法通过一两年学习就能了解您需要知道的一切并称自己为数据科学家。相反,现在就开始学习,也许是自学,也许是通过正规培训,然后将您所学的应用到实际情况中。重复这个过程,直到您解决世界上所有的问题或退休。
幸运的是,数据科学在很大程度上是由每个人都可以免费使用的开源软件驱动的。一个好的第一步是尝试 Linux 发行版,因为它可以作为您工作的良好平台。Linux 是一个开源操作系统,因此它不仅可以免费使用,而且非常灵活,这使其成为以不断适应需求而闻名的领域的理想选择。Linux 还附带 Python,Python 是当今数据科学领域的主要语言。 NumPy 和 Pandas 库专门为数字运算和数据分析而设计,并且它们的文档非常详尽。
但通常情况下,学习新语言或库时最大的困难之一是找到一种方法将这些工具应用于您生活中的某些事物。与许多其他学科不同,数据科学中没有错误答案。您可以将数据科学的原理应用于任何数据集。最坏的情况是,您会发现两组数据之间没有相关性,或者看似随机的事件中没有模式。但这是有效的研究,因此您不仅可以了解数据科学,还可以证明或证伪一个假设。
由于开源的影响,开放数据集很容易找到。 Data.gov、世界银行、谷歌(包括来自 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 可能是一种多媒体体验,文档和源代码都在同一个位置。这是一个强大的工具,但即使您只是刚开始学习编码,也足够容易上手。
数据科学和未来
随着计算机的不断普及,可用数据不断增长。如果您是想了解世界如何运作的人,那么没有比数据科学更好的入门方式了。无论您在数据科学领域做什么,请记住保持开放,以便每个人都受益。