Jupyter Notebook初学者介绍

机器学习和人工智能已经成为科技界的新热词;几乎每个人都意识到这个领域的重要性。

数据科学家会同意,在某个时间点,你几乎无法不使用Jupyter笔记本,至少大部分时间是这样。许多AI/ML工程师已经采用了使用Jupyter Notebook来编写和测试算法/模型的工具。

那么Jupyter是什么?为什么它被称为笔记本?

根据维基百科,笔记本是一本或一堆纸制成的书或装订本,通常带有线条,用于多种用途,如记录笔记或备忘录、书写、绘画或剪贴簿。

所以基本上,我们可以说笔记本是用来使用文本、图表、绘图、图片、方程、表格甚至图表来表达特定的上下文、想法或知识。

那么为什么Jupyter被称为笔记本?

因为它确实做到了上述所说的!它用于起草文档、代码、文本、图片、方程、绘制图表和可视化甚至绘制表格。

Jupyter Notebook是什么?

Jupyter Notebook 是一个开源的Web应用程序,允许您创建和共享包含实时代码、方程、可视化和叙述文本的文档。它的用途包括数据清洗和转换、数值模拟、统计建模、数据可视化、机器学习等等。

通常情况下,Jupyter Notebook在Python环境中使用。它们具有非常交互式的输出,并且可以像普通笔记本一样轻松共享。

Jupyter Notebook可以用于什么?

编写多种语言。

Jupyter系统支持100多种编程语言(在Jupyter生态系统中称为“内核”),包括Python、Java、R、Julia、Matlab、Octave、Scheme、Processing、Scala等等。您可以与他人分享在Notebook中编写的代码。

以下是可以在Jupyter笔记本中编写的几种语言。

Python

在可以使用Jupyter编写的所有语言中,Python是最受欢迎的。几乎每个在Jupyter环境中编写代码的人都会用到 Python。默认情况下,Jupyter在其环境中支持Python,无需使用特殊的魔术命令。

def hello_world():     
print("Hello world!!!") 
hello_world()

输出将是:

Hello world!!!

JavaScript

JavaScript被广泛用于Web开发,也可以在Jupyter中编写。与Python不同,JavaScript不是默认支持的。您需要使用特定的命令告诉该单元格您正在运行的是JavaScript代码。这些命令通常称为魔术命令。对于JavaScript,该命令是%%javascript

与Python不同,Jupyter Notebook中可以运行的JavaScript代码有一定的限制。

%%javascript
const text = "hello world"
alert(text)

Java

它允许集成Java – 编程语言。可以按照一组安装说明 here 来安装这样的内核。安装完成后,在Linux上的Jupyter终端中运行以下命令。

jupyter console --kernel=java 
Jupyter console 5.1.0 
Java 9.0.4+11 :: IJava kernel 1.1.0-SNAPSHOT 
Protocol v5.0 implementation by jupyter-jvm-basekernel 2.2.1-SNAPSHOT 
In [1]:

Matlab

Matlab是高性能的技术计算语言;它将计算、可视化和编程集成在一个易于使用的环境中,其中问题和解决方案以熟悉的数学符号表示。

要在Jupyter Notebook中使用Matlab,首先需要安装Jupyter-Matlab。我们首先需要做的是创建一个虚拟环境。

在Windows上打开Jupyter提示符,或者在Linux上打开终端,然后输入以下命令:

conda create -vv -n jmatlab python=3.5 jupyter

确保您仍然在这个终端中,然后输入以下代码:

source activate jmatlab

然后安装Python的Matlab内核

pip install matlab_kernal
python -m matlab_kernel install

检查内核是否正确安装

jupyter kernelspec list

找到您的MATLAB目录。 “/Applications/MATLAB_R2017a.app”。

进入”extern/engines/python”子目录并安装Python引擎。

cd “/Applications/MATLAB_R2017a.app/extern/engines/python”
python setup.py install

启动Jupyter笔记本

cd your_working_directory
jupyter notebook

启动后,现在应该有Matlab和Python的选项。

标记

当涉及到编写Markdown时,Jupyter笔记本非常方便,当您想要对某段代码进行详细的解释、编写文档或一份特定数据集的词典时,这非常有用。

在笔记本中键入以下代码。

* [Pandas](#pandas),
用于数据分析
* [Numpy](#numpy),
用于数值分析
* [Matplotlib](#matplotlib),
用于数据可视化

输出应该如下所示;

图片

Bash脚本

Jupyter笔记本允许使用bash脚本,使用”%%bash”魔术命令。

为了测试,让我们在当前工作目录中创建一个文件夹。在笔记本单元格中输入以下代码。

%%bash
mkdir Test_Folder

运行代码,现在通过输入以下代码检查您的工作目录

%%bash
ls

您将看到文件夹”Test_Folder”已被添加到其中。您也可以物理地转到该文件夹进行检查。

数据可视化

使用Python库如Matplotlib,您可以在浏览器中运行和显示数据可视化。

让我们尝试使用matplotlib制作一个非常基本的可视化。

我们首先需要导入库

from matplotlib import pyplot as plt
%matplotlib inline

然后输入以下代码

x = [1, 2, 3, 4, 5, 6, 7, 8, 9] y = [11, 12, 13, 14, 15, 16, 17, 18, 19] plt.plot(x, y)

更有趣的是,我们可以进行3D可视化!
我们首先需要导入3D可视化库

from mpl_toolkits import mplot3d
import numpy as np

然后进行3D投影

fig = plt.figure()
ax = plt.axes(projection='3d')

我们的输出应该是这样的

图片

现在,运行以下脚本。

def f(x, y):
return np.sin(np.sqrt(x ** 2 + y ** 2))

x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)

ax = plt.axes(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
cmap='viridis', edgecolor='none')
ax.set_title(‘surface');

图片

数学和科学符号

我们可以使用LaTeX等工具在Jupyter笔记本中输入数学和科学方程。

LaTeX是一个高质量的排版系统;它包含了为技术和科学文档制作而设计的功能。您可以在此处了解更多关于latex的信息here。让我们尝试运行一些简单的LaTex代码。
输入以下LaTex命令

## $J(theta_0) = frac{1}{2m}sum_{i=0}^{m} (h_theta(x^{(i)}) - y^{(i)})^2$

输出应该是这样的

结论

本文只是涉及了使用Jupyter notebooks可以实现的一小部分内容。您可以在我创建的这个Jupyter笔记本中找到本文中大部分示例here on collaboratory

类似文章