Module 02 · Languages of Data Science
Other Languages for Data Science其他数据科学语言
欢迎观看“数据科学的其他语言”视频。
观看本视频后,您将能够:
- 回顾 Java、Scala、C++、JavaScript 和 Julia 等其他语言。
- 探索每种语言在数据科学中的应用。
概述
在之前的课程中,我们回顾了 Python、R 和 SQL。在本课中,我们将回顾一些在数据科学领域具有引人注目用例的其他语言。
- Scala、Java、C++ 和 Julia 可能是最具传统性的数据科学语言。
- 然而,JavaScript、PHP、Go、Ruby、Visual Basic 等许多其他语言也在数据科学社区中找到了自己的位置。
接下来,我们将重点介绍其中一些语言的显著特点。
关键语言及其应用
1. Java
Java 是一种通用的、经过实践检验的面向对象编程语言。它在企业领域得到了广泛采用,旨在实现快速和可扩展性。
- Java 应用程序被编译成字节码,并在 Java 虚拟机 (JVM) 上运行。
Java 在数据科学中的应用
| 工具/项目 | 描述 |
|---|---|
| Weka | 用于数据挖掘。 |
| Java-ML | 用于机器学习。 |
| Apache MLlib | 使机器学习具有可扩展性。 |
| Deeplearning4j | 用于深度学习。 |
| Hadoop | 用于大数据应用,管理在集群系统中运行的数据处理和存储。 |
2. Scala
Scala 是一种通用编程语言,支持函数式编程并具有强静态类型系统。
- 设计初衷: Scala 旨在解决 Java 的缺点。
- 互操作性: 由于它也在 JVM 上运行,因此可以与 Java 互操作。
- 命名来源: “Scala”一词结合了 “scalable”(可扩展的)和 “language”(语言)。该语言旨在随用户需求而发展。
Scala 在数据科学中的应用
- Apache Spark: 这是用 Scala 构建的最流行的数据科学程序。
| Spark 组成部分 | 描述 |
|---|---|
| Spark | 一个快速且通用的集群计算系统,提供 API,使并行作业易于编写。它拥有一个支持通用计算图的优化引擎。它被设计成比 Hadoop 更快。 |
| Shark | 一个查询引擎。 |
| MLlib | 用于机器学习。 |
| GraphX | 用于图处理。 |
| Spark Streaming | 用于流处理。 |
3. C++
C++ 是一种通用编程语言。它是 C 编程语言的扩展,也被称为“带类的 C”。
- 特性: C++ 提高了处理速度,支持系统编程,并提供对软件应用程序更广泛的控制。
- 应用场景: 许多组织使用 Python 或其他高级语言进行数据分析和探索性任务,但依赖 C++ 来开发向客户实时馈送数据的程序。
C++ 在数据科学中的应用
- TensorFlow: 一个流行的用于数据流的深度学习库,它是用 C++ 构建的。虽然 C++ 是它的基础,但它运行在一个 Python 接口上,因此用户不需要 C++ 知识即可运行它。
- MongoDB: 一个用于大数据管理的 NoSQL 数据库,它是用 C++ 构建的。
- Caffe: 一个用 C++ 构建的深度学习算法库,带有 Python 和 Matlab 绑定。
4. JavaScript
JavaScript 是万维网的核心技术,是一种通用语言。随着 Node.js 和其他服务器端方法的创建,它的应用范围扩展到了浏览器之外。
⚠️ 重要提示: JavaScript 与 Java 语言无关。
JavaScript 在数据科学中的应用
- TensorFlow.js: 毫无疑问,这是最流行的实现。它使得在 Node.js 以及浏览器中进行机器学习和深度学习成为可能。
- TensorFlow.js 还被其他开源库采用,包括 brain.js 和 machinelearn.js。
- R-js: 另一种 JavaScript 在数据科学中的实现。该项目已将 R 语言中的线性代数规范重写为 TypeScript。
- 这为未来实现更强大的数学基础框架(如 Python 的 Numpy 和 SciPy)奠定了基础。
- (TypeScript 是 JavaScript 的超集。)
5. Julia
Julia 是在 麻省理工学院 (MIT) 设计的,用于高性能数值分析和计算科学。
- 性能优势: Julia 提供了像 Python 或 R 一样的快速开发,同时生成的程序运行速度可与 C 或 Fortran 程序媲美。
- 编译机制: 它是编译型的,这意味着 Julia 代码作为可执行代码直接在处理器上执行。
- 互操作性: 它可以调用 C、Go、Java、MATLAB、R、Fortran 和 Python 库,并具有完善的并行性。
- 潜力巨大: Julia 语言本身只有 8 年历史(写于 2012 年),但对其未来在数据科学行业的影响力寄予厚望。
Julia 在数据科学中的应用
- JuliaDB: Julia 在数据科学中的一个出色应用,这是一个用于处理大型持久数据集的软件包。
知识点总结
在本视频中,您了解到:
- 用 Java 构建的数据科学工具包括 Weka、Java-ML、Apache MLlib 和 Deeplearning4j。
- 用 Scala 构建的流行数据科学程序是 Apache Spark,它包括 Shark、MLlib、GraphX 和 Spark Streaming。
- 用 C++ 构建的数据科学程序包括 TensorFlow、MongoDB 和 Caffe。
- 用 JavaScript 构建的数据科学程序包括 TensorFlow.js 和 R-js。
- 用 Julia 构建的一个出色数据科学应用是 JuliaDB。