机器学习环境安装和使用之02Jupyter Notebook的使⽤

发布时间 2023-11-25 20:43:07作者: Allen_Hao

Jupyter Notebook简介

jupyter Notebook(前身是 IPython Notebook)是一个开源的交互式计算和数据可视化工具(web程序),支持多种编程语言,最常用的是 Python。

它提供了一个基于 Web 的界面,用户可以在浏览器中创建和共享文档,这些文档包含实时代码、方程、可视化和文本。

名字源⾃Julia、Python 和 R(数据科学的三种开源语⾔。

.ipynb⽂件格式是⽤于计算型叙述的JSON⽂档格式的正式规范

特点

1. 交互式计算环境:

  • Jupyter Notebook 提供一个交互式环境,用户可以在一个文档中编写和运行代码,逐步测试和调试,以便更好地理解代码的执行过程。

2. 支持多种编程语言:

  • Jupyter 最初是为 Python 开发的,但现在支持多种编程语言,包括 Julia、R、Scala 和其他一些语言。这使得它成为一个灵活的工具,适用于各种数据科学和计算任务。

3. Web-Based 用户界面:

  • Jupyter Notebook 使用基于 Web 的用户界面,允许用户在浏览器中运行代码、编辑文档、插入图像和表格等。这使得它在本地和远程服务器上都易于使用。

4. 可嵌入的图形和图表:

  • Jupyter Notebook 支持通过 Matplotlib、Seaborn 等库绘制实时图形和图表,这对于数据可视化和分析非常有用。

5. Markdown 文本和 LaTeX 公式:

  • 用户可以在 Jupyter Notebook 中使用 Markdown 格式编写文本,包括标题、列表、链接等,使文档更具可读性。同时,支持 LaTeX 公式,方便书写数学方程。

6. 保存和导出:

  • 用户可以随时保存 Jupyter Notebook 文档,并将其导出为不同格式的文件,如 HTML、PDF、Markdown 或 Python 脚本。

7. 版本控制和共享:

  • Jupyter Notebook 的文档是纯文本文件,易于与版本控制系统(如 Git)集成。用户可以轻松地分享和合作,通过在线服务(如 JupyterHub 或 GitHub)与他人共享 Notebook。

8. 插件和扩展:

  • Jupyter 可以通过各种插件和扩展进行定制,用户可以根据自己的需求添加新的功能和工具。

总体而言,Jupyter Notebook 是一个强大的工具,适用于数据分析、机器学习、教育和科学研究等多个领域。其易用性和灵活性使其成为数据科学家和研究人员首选的工作环境之一。

使用

1. 安装

1.1 进入虚拟环境

workon 虚拟环境名,eg: workon ai

1.2 执行pip install jupyter安装

1.3 运行jupyter: jupyter notebook ,执行命令后,默认会打开如下图所示页面:

 2. 新建notebook文档 && 重命名

新建notebook文档:

 

 

重命名:

单击下图红框,并重命名为002days.ipynb

 

 

3. 功能描述

 3.1单元格(Cell)

jupyter Notebook 的基本单元是单元格。单元格可以包含代码、Markdown 文本或原始文本。

在Code模式下:⼀对In Out会话被视作⼀个代码单元,称为cell

在mardown模式下:普通文本、富文本、LaTex公式等

在raw模式下:普通文本

 3.2 两种模式:编辑模式、命令模式

3.2.1 编辑模式

当对cell内容进行操作时就是编辑模式,比如在cell中敲代码

命令模式切编辑模式:当光标定位在cell上, 回⻋Enter 或 直接⿏标双击 cell进⼊编辑模式

3.2.2 命令模式

对整个cell而不是cell内容进行操作时是命令模式,比如对cell的复制、粘贴、新增cell、删除cell

编辑模式切命令模式:光标不在cell的输入框。或光标在cell输入框,按esc键

 快捷键

两种模式通⽤快捷键  

       

        Shift+Enter ,执⾏本单元格代码,并跳转到下⼀单元
  Ctrl+Enter ,执⾏本单元代码,留在本单元

 

命令模式(按 Esc 进入):

  • Enter: 进入编辑模式(在代码或 Markdown 单元格中)。
  • Shift + Enter: 运行当前单元格,并移到下一个单元格。
  • Ctrl + Enter: 运行当前单元格,停留在当前单元格。

单元格操作:

  • A: 在当前单元格上方插入新单元格。
  • B: 在当前单元格下方插入新单元格。
  • X: 剪切当前单元格。
  • C: 复制当前单元格。
  • V: 粘贴剪切或复制的单元格。

单元格类型:

  • Y: 将当前单元格变为代码单元格。
  • M: 将当前单元格变为 Markdown 单元格。

单元格操作:

  • Shift + K: 选择上方单元格。
  • Shift + J: 选择下方单元格。

其他操作:

  • Z: 撤销删除的单元格。
  • D + D(按两次): 删除当前单元格。
  • I + I: 中断执行内核。
  • 0 + 0(按两次): 重启内核。

2. 编辑模式(按 Enter 进入):

编辑单元格内容:

  • Ctrl + /: 注释或取消注释选中行。

其他操作:

  • Tab: 代码补全或缩进。
  • Shift + Tab: 显示函数或方法的文档字符串。
  • Ctrl + Shift + -: 在光标位置拆分单元格。

Markdown

一般用于做笔记和数学公式(LaTex公式)

Markdown 是一种轻量级标记语言,常用于文本编辑器中,以便通过易读易写的纯文本格式,展示富文本内容。

在 Jupyter Notebook 中,Markdown 语法可以用于创建富文本笔记,包括标题、列表、链接、图像等。以下是一份简要的 Jupyter Markdown 语法详解和示例:

1. 标题:

使用 # 符号表示标题,数量表示标题级别,从 1 到 6。

# 一级标题
## 二级标题
### 三级标题

2. 文本样式:

  • 粗体: 使用 **__ 包围文本。

    **这是粗体文本**
    __这也是粗体文本__
    
  • 斜体: 使用 *_ 包围文本。

    *这是斜体文本*
    _这也是斜体文本_
    

3. 列表:

  • 无序列表: 使用 *-+ 开头。

    * 项目一
    * 项目二
      - 子项目一
      - 子项目二
    
  • 有序列表: 使用数字加点。

    1. 项目一
    2. 项目二
       1. 子项目一
       2. 子项目二
    

4. 链接:

  • 行内链接:

    [OpenAI](https://www.openai.com/)
    
  • 引用链接:

    markdown复制代码
    [OpenAI][1]
    
    [1]: https://www.openai.com/
    

5. 图像:

![Alt文本](image_url)

6. 引用:

> 这是一条引用。

7. 代码块:

  • 行内代码: 使用 ` 符号包围代码。

    这是一段 `行内代码`。
    
  • 多行代码块: 使用三个 ` 符号包围。

    <pre>

    def example():
        print("这是一个示例")
    

    </pre>

8. 水平线:

---

9. 数学公式:

使用 $ 符号包围 LaTeX 公式。

$E=mc^2$

10. 表格:

| 列1 | 列2 | 列3 |
| --- | --- | --- |
| 值1 | 值2 | 值3 |

示例

 

 

 

 LaTex

LaTeX 是一种专业的排版系统,广泛用于生成科技文档、学术论文和数学公式等。在 LaTeX 中,数学公式的书写使用一套专门的语法

1. 上标和下标:

  • 上标使用 ^,下标使用 _

    $a^2$    % 表示 a 的平方
    $b_{1}$  % 表示 b 的下标 1

 

2. 分数:

  • 使用 \frac 表示分数。

    latex复制代码
    $\frac{a}{b}$  % 表示 a 除以 b

 

3. 根号:

  • 使用 \sqrt 表示根号。

    $\sqrt{a}$  % 表示 a 的平方根

 

4. 求和和积分:

  • 使用 \sum 表示求和,\int 表示积分。

    latex复制代码
    $\sum_{i=1}^{n} x_{i}$    % 表示 x 的求和
    $\int_{a}^{b} f(x) \,dx$   % 表示 f(x) 的积分

 

5. 希腊字母:

  • 直接使用希腊字母的名称。

    $\alpha$, $\beta$, $\gamma$, $\Delta$, $\Pi$

 

6. 关系运算符:

  • 使用 =, <, >, \leq, \geq 等。

    $a = b$, $x \leq y$

 

7. 括号:

  • 使用 (), [], \{ \}, \langle \rangle 表示不同类型的括号。

    $(a + b)$, $[x - y]$, $\{z\}$, $\langle w \rangle$

 

8. 矩阵:

  • 使用 matrix 环境表示矩阵。

    \begin{matrix}
      1 & 2 \\
      3 & 4 \\
    \end{matrix}

 

9. 分支情况:

  • 使用 cases 环境表示分支情况。

    f(x) =
    \begin{cases}
      x, & \text{if } x > 0 \\
      0, & \text{otherwise}
    \end{cases}

 

10. 上线和下线标注:

  • 使用 \overbrace\underbrace 表示上线和下线标注。

    $A = \underbrace{a + b}_{\text{计算结果}}$