Coursera 笔记

Module 02 · Languages of Data Science

Other Languages for Data Science其他数据科学语言

Coursera ↗

欢迎观看“数据科学的其他语言”视频。

观看本视频后,您将能够:

  • 回顾 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。