Logo

本课程内容概览

了解本课程的概览,并学习为什么Rust非常适合数据科学。

概念

本课程内容概览

了解本课程的概览,并学习为什么Rust非常适合数据科学。

许多人认为 Rust 或其他系统级语言不适合用于数据科学。Rust 是一种强类型语言,这意味着 Rust 中的每个值都必须具有明确声明的类型,处理数据时没有灵活性。然而,我们可能会惊讶地发现,即使不向编译器明确说明所用数据的类型,我们依然可以走得很远。

...

编译器通过代码中嵌入的提示来理解正在处理的数据类型,而无需我们显式指定操作方式。

然而,当这些提示失效时,我们就必须明确声明所使用的类型。让我们看一个例子:

1let value1: f32 = "42.0".parse().expect("Not a number!"); 2let value2 = 2.0; 3println!("{}", value1 / value2);

Rust 对数据及其类型的严格要求,使其在数据科学领域显得非常自然。

但当我们提到数据科学时,大多数人首先想到的可能是 R 或 Python。这些语言确实拥有大部分所需工具。然而,当需要将原型模型部署到真实场景时,问题便开始浮现。

在概念原型阶段,像 Python 这样的解释型语言比 Rust 更快。但在处理真实世界的应用原型时,只有 C 和 Rust 能够满足对稳定性、性能和安全性的严苛要求。

与其学习一种语言建模后再导出到另一种语言,不如完全在一个语言中完成整个建模过程。这也是为什么 Rust 在未来有望成为数据科学的重要语言。

本课程内容概览

...
Graphs

数据科学是一系列跨学科的方法,旨在从数据中提取新的知识与洞察。其最终目标是通过发现模式和预测结果,支持更明智的决策。本课程为中级水平,我们将学习与真实世界数据交互所需的各类数据结构、算法和策略。

真实世界数据指的是我们在现实生活中可能遇到的数据,而非人为构造的示例。尽管展示的是真实数据,结果有时仍可能显得刻意。例如,选择使用简单数据集而非复杂数据集,就无法准确反映真实情况。因此,所谓真实世界数据,是指未经处理、未被刻意设计、近乎随机的数据。

本课程旨在为我们提供应对简单与复杂任务的有效策略。

我们将从 Rust 数据结构的快速回顾开始,接着聚焦于函数式编程的算法。最后,我们将掌握五项与数据及数据科学密切相关的核心技能。

本课程不会深入探讨数据科学的全部内容,尽管我们会接触到大量相关内容。它更像是一次从 Rust 视角出发的数据科学入门。换句话说,本课程为深入学习数据科学提供了必要的前置知识。

适合谁来学习?

...
A stack of books to review... It'll be quick, don't worry!

本课程属于中级 Rust 课程,假设你已掌握 Rust 的基础知识。我们还提供一些初级 Rust 课程,如果你需要快速复习,请查看我们的课程目录!

如果你已经熟悉 Rust,并希望了解如何将其应用于真实世界的数据处理,那么本课程非常适合你!我们将涵盖多个主题,从基础数据结构到在 Rust 中处理真实数据。

我们将回顾的内容

为了为后续学习数据结构做好准备,我们将花时间回顾 Rust 的基本数据结构:数组与切片、向量与字符串、哈希映射(HashMap)和哈希集合(HashSet)。同时,我们也会复习结构体(struct),它在 Rust 中扮演着重要角色。

随后,我们将用几节课介绍 Rust 中的函数式编程,重点包括函数、闭包、迭代器和高阶函数。这部分内容将为后续学习打下坚实基础。

核心数据技能

本课程涵盖在 Rust 中处理数据所需的基本技能。

共有五项核心技能:

  1. 数据输入
    数据无处不在,但大多数时候并不容易获取。能够不仅收集数据,还能清洗数据,是数据科学中的关键策略。

  2. 数据存储
    数据收集后,我们需要有效的策略和方法来存储它。本部分主要涉及数据库技术。

  3. 数据服务
    数据库是存储和检索数据的强大工具,但很多人并不清楚如何查询数据库以获取所需信息。因此,我们也需要掌握如何将数据以清晰易懂的方式呈现出来。本部分聚焦于通过互联网进行数据展示。

  4. 数据分析
    本部分涵盖数据分析的基础与进阶工具。内容并非面面俱到——全面掌握数据分析需要一门独立课程,即便如此也难以穷尽所有知识。但本部分将帮助你建立扎实的数据分析基础,特别是在 Rust 环境下的应用。

  5. 数据可视化与叙事表达
    本部分介绍数据可视化的基础工具。同时,还将分享如何通过讲故事的方式,将枯燥的图表转化为富有洞察力的信息来源。

每个章节结束后,至少包含一个项目,将所学知识应用于真实场景。

现在,让我们开始探索 Rust 在数据科学中隐藏的强大能力。

Rust 数据结构