【机器学习】Jupyter Notebook如何使用之基本步骤和进阶操作

news2024/11/15 11:10:57

引言

Jupyter Notebook 是一个交互式计算环境,它允许创建包含代码、文本和可视化内容的文档

文章目录

  • 引言
  • 一、基本步骤
    • 1.1 启动 Jupyter Notebook
    • 1.2 使用 Jupyter Notebook 仪表板
    • 1.3 在笔记本中工作
    • 1.4 常用快捷键
    • 1.5 导出和分享笔记本
  • 二、进阶用法
    • 2.1 组织笔记本结构
    • 2.2 编写清晰的代码
    • 2.3 使用魔术命令
    • 2.4 管理单元格输出
    • 2.5 使用交互式小部件
    • 2.6 代码单元格管理
    • 2.7 利用扩展功能
    • 2.8 数据分析最佳实践
    • 2.9. 资源管理
    • 2.10 安全性和隐私

一、基本步骤

以下是使用 Jupyter Notebook 的一些基本步骤:

1.1 启动 Jupyter Notebook

  1. 打开命令行(终端)
    在 Windows 上,可以使用命令提示符或 Anaconda Prompt,在 macOS 或 Linux 上,使用终端
  2. 导航到工作目录
    使用 cd 命令导航到想保存笔记本的目录
  3. 启动 Jupyter Notebook
    输入以下命令并按回车:
jupyter notebook

这将启动 Jupyter 服务器,并在默认的 Web 浏览器中打开 Jupyter Notebook 的仪表板,如图所示:
在这里插入图片描述

1.2 使用 Jupyter Notebook 仪表板

仪表板显示了当前目录下的文件和文件夹,以下是一些基本操作:

  • 新建笔记本:点击右上角的“新建”按钮,选择 Python3 或其他想使用的内核来创建一个新的笔记本、文件夹或终端
    在这里插入图片描述

  • 打开笔记本:点击已存在的笔记本文件名,如图所示:
    在这里插入图片描述
    在这里插入图片描述

  • 重命名笔记本:点击笔记本文件名旁边的复选框,然后点击“重命名”按钮,如图所示:
    在这里插入图片描述

  • 删除笔记本:选择笔记本,然后点击“删除”按钮,如图所示:
    在这里插入图片描述

1.3 在笔记本中工作

一旦打开或创建了一个笔记本,可以开始编写代码和文本

  • 添加新单元格:点击“+”按钮或使用菜单中的“插入”选项来添加新单元格
  • 选择单元格类型
    • 代码(Code):用于编写和执行代码
    • Markdown:用于编写格式化的文本和内联的 LaTeX 数学表达式
    • 原始NBConvert:用于原始文本
  • 编辑单元格:点击单元格,开始输入文本或代码
  • 运行单元格
    • 按下 Shift + Enter 来运行当前单元格并选择下面的单元格
    • 按下 Alt + Enter 来运行当前单元格并在下面插入一个新单元格
    • 按下 Ctrl + Enter 来运行当前单元格而不移动焦点
  • 保存笔记本:使用菜单中的“文件”选项,然后选择“保存和检查点”或使用快捷键 Ctrl + S

1.4 常用快捷键

  • Shift + Enter:运行当前单元格,选择下面的单元格
  • Alt + Enter:运行当前单元格,并在下面插入一个新单元格
  • Ctrl + Enter:运行当前单元格
  • A:在上方插入新单元格
  • B:在下方插入新单元格
  • D + D(两次D):删除选中的单元格
  • M:将当前单元格转换为 Markdown 单元格
  • Y:将当前单元格转换为代码单元格

1.5 导出和分享笔记本

  • 导出:可以将笔记本导出为多种格式,如 HTML、PDF、Markdown 或纯 Python 脚本
  • 分享:Jupyter Notebook 可以通过电子邮件、Dropbox、GitHub 或其他在线平台轻松分享在这里插入图片描述

通过这些基本步骤,可以开始使用 Jupyter Notebook 进行数据探索、分析、可视化以及教学和学习

二、进阶用法

遵循以下实践和建议,以提高工作效率和代码质量

2.1 组织笔记本结构

  • 使用Markdown单元格:为笔记本添加清晰的标题、子标题和章节描述,使用Markdown格式来提高可读性
  • 分割内容:将笔记本分割成不同的部分,每个部分使用Markdown单元格进行说明,然后是相应的代码单元格
  • 使用目录:对于较长的笔记本,可以在顶部创建一个目录,方便快速导航

2.2 编写清晰的代码

  • 遵循PEP 8:遵守Python编码标准PEP 8,保持代码格式一致
  • 使用注释:在代码单元格中添加注释,解释复杂的逻辑或重要的步骤
  • 避免冗余:删除不再需要的代码,保持笔记本整洁

2.3 使用魔术命令

  • %matplotlib inline:用于在笔记本中内联显示图表
  • %load_ext:加载扩展,如line_profiler用于性能分析
  • %timeit:测量代码执行时间

2.4 管理单元格输出

  • 清除输出:使用“单元格”菜单中的“全部清除输出”来清理笔记本
  • 禁用代码输出:在代码单元格后面添加一个分号;来阻止输出显示
  • 折叠长输出:对于长输出,使用out = _(下划线)来保存输出,而不立即显示

2.5 使用交互式小部件

  • ipywidgets:使用ipywidgets库创建滑块、下拉菜单和其他交互式小部件,使笔记本更加动态

2.6 代码单元格管理

  • 单元格合并:使用“编辑”菜单中的“合并单元格”来合并多个单元格
  • 单元格拆分:将一个单元格拆分成多个单元格,以细化代码块

2.7 利用扩展功能

  • 安装扩展:使用nbextensions来安装和启用Jupyter Notebook扩展,如代码折叠、预览Markdown等
  • 使用Nbextensions:例如,Table of Contents (2)可以自动生成目录

2.8 数据分析最佳实践

  • 使用Pandas:高效处理数据集
  • 可视化:使用Matplotlib、Seaborn或Plotly进行数据可视化
  • 版本控制:使用git进行版本控制,注意.ipynb_checkpoints目录不应被提交到版本库

2.9. 资源管理

  • 关闭未使用的内核:在Jupyter Dashboard中关闭不再需要的内核,释放资源
  • 定期保存:定期保存笔记本,避免数据丢失

2.10 安全性和隐私

  • 避免在笔记本中保存敏感数据:不要在笔记本中保存密码或敏感信息
  • 使用JupyterHub:在多用户环境中使用JupyterHub来管理用户访问和资源

通过以上建议,可以更加优雅和高效地使用Jupyter Notebook,不仅提高个人工作效率,也能使笔记本更加易于理解和分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1946210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel超级处理器,工作簿文件.xls/.xlsx/.csv相互批量转换

如何将.xlsx文件转成.csv文件,.xls转换成.xlsx文件,以及.xls文件转成.csv文件或.csv转换成.xlsx文件,如果是单个文件转换,那么将当前文件另存为,保存类型,选择即可。如下图所示: 如果是多个文件…

【AutoDL】AutoDL+Xftp+Xshell+VSCode配合使用教程

身边没有显卡资源或不足以训练模型时,可以租赁服务器的显卡。 1、AutoDL Step :注册账号->选择显卡->选择环境->开机启动 1.1 首先打开AutoDL官网,注册账号 1.2 租赁自己想要的显卡资源 1.3 选择基础环境。 此处,我们让其自动配置…

[网络通信原理]——TCP/IP模型—网络层

网络层 网络层概述 网络层位于OSI模型的第三层,它定义网络设备的逻辑地址,也就是我们说的IP地址,能够在不同的网段之间选择最佳数据转发路径。在网络层中有许多协议,其中主要的协议是IP协议。 IP数据包格式 IP数据报是可变长度…

Linux服务器配置Python+PyTorch+CUDA深度学习环境

参考博主Linux服务器配置PythonPyTorchCUDA深度学习环境_linux cuda环境配置-CSDN博客 https://blog.csdn.net/NSJim/article/details/115386936?ops_request_misc&request_id&biz_id102&utm_termlinux%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83%E6%8C%89pytorch%20c…

微信答题小程序产品研发-需求分析与原型设计

欲知应候何时节,六月初迎大暑风。 我前面说过,我决意仿一款答题小程序,所以我做了大量的调研。 题库软件产品开发不仅仅是写代码这一环,它包含从需求调研、分析与构思、设计到开发、测试再到部署上线一系列复杂过程。 需求分析…

子数组和为k子数组和最大

题目1:子数组和为k /*给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。示例 1:输入:nums [1,1,1], k 2 输出:2 示例 2:输入&a…

微软蓝屏事件对企业数字化转型有什么影响?

引言:从北京时间2024年7月19日(周五)下午2点多开始,全球大量Windows用户出现电脑崩溃、蓝屏死机、无法重启等情况。事发后,网络安全公司CrowdStrike称,收到大量关于Windows电脑出现蓝屏报告,公司…

make2exe:自动集成测试

模板Makefile,生成多个C/C模块的集成测试程序。

算法学习day19

一、通过删除字母匹配到字符字典中的最大值 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果…

花几千上万学习Java,真没必要!(二十六)

1、成员内部类: package internalclass.com; //在Java中,成员内部类(也称为非静态内部类)是定义在另一个类(外部类)内部的类。 //成员内部类可以访问外部类的所有成员(包括私有成员&#xff09…

【计算机网络】网络层——IPv4地址(个人笔记)

学习日期:2024.7.24 内容摘要:IPv4地址,分类编址,子网,无分类编址 IPv4地址概述 在TCP/IP体系中,IP地址是一个最基本的概念,IPv4地址就是给因特网上的每一台主机的每一个接口分配一个在全世界…

ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间

前言 在做数据库设计时,为了方便进行数据追踪,通常会有几个字段是每个表都有的,比如创建时间、创建人、更新时间、更新人、备注等,在存储这些时间时,要么存储 WEB 服务器的时间,要么存储数据库服务器的时间…

Java之数组应用-冒泡排序-二分查找

冒泡排序 冒泡(Bubble Sort)排序是一种简单排序算法,它通过依次比较交换两个相邻元素实现功能。每一次冒泡会让至少一个元素移动到它应该在的位置上,这样 n 次冒泡就完成了 n 个数据的排序工作。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”…

python实现图像缩放算法

图像缩放算法 1.最近邻插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点2.双线性插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点3.双三次插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点 1.最近邻插值图像缩放算法详解 最近邻插值(Near…

【网络】计算机网络基础——计算机网络背景和发展、认识网络协议、OSI七层模型、TCP/IP四层模型、网络的传输

文章目录 Linux网络1. 计算机网络背景和发展2. 认识网络协议3. OSI七层模型3.1 物理层3.2 数据链路层3.3 网络层3.4 传输层3.5 会话层3.6 表示层3.7 应用层 4. TCP/IP四层模型5. 网络的传输 Linux网络 1. 计算机网络背景和发展 开始的计算机都是独立模式(计算机之间…

与众不同的社交体验:Facebook的新功能与新变化

在快速变化的社交媒体领域,Facebook不断引入创新功能和变化,以满足用户日益增长的需求,并提供与众不同的社交体验。从增强现实到数据隐私,Facebook的新功能和更新正在塑造一个全新的社交平台。本文将深入探讨这些新功能和变化&…

3W单声道关断模式音频功率放大器AD4150B

前言: 国产功放介绍 NS4890C 2.4W 单声道AB类音频放大器 AD4150B 3W单声道关断模式音频功率放大器 参考价格0.3元 产品概述 AD4150B是一款单声道带关断模式,桥式音频功率放大器。在5.5V工作电压时,平均驱动功率为:3W&#xff08…

计算机网络之http和https的区别(外加http详解)

http协议和各种协议之间的关系 1、DNS解析,获取到访问服务器的IP 2、HTTP生成请求报文请求,请求访问页面资源 3、TCP协议将报文切割成一份一份报文段后,以可靠的方式进行传输 4、IP协议边搜索边中转,将这些数据包传输给接受方…

关于c#的简单应用三题

#region 输入一个正整数&#xff0c;求1~这个数的阶乘 public static void Factorial(int a) { int result 1; for (int i 1; i < a; i) { result result * i; } Console.WriteLine(result); } #endregion #region 一个游戏&#…

详解Stable Diffusion 原理图

参考英文文献&#xff1a;The Illustrated Stable Diffusion – Jay Alammar – Visualizing machine learning one concept at a time. 在这个Stable Diffusion模型的架构图中&#xff0c;VAE&#xff08;变分自编码器&#xff09;模型对应的是图中的 E 和 D 部分。 具体来说…