当前位置: 首页 > news >正文

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

引言

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,不仅提高个人工作效率,也能使笔记本更加易于理解和分享

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Kafka、RabbitMQ、RocketMQ:消息队列技术深度对比
  • C++:map和set
  • 实验4-2-2 使用函数求e的近似值
  • vue里给img的src绑定数据失效
  • Redis 缓存
  • 《Java8函数式编程》学习笔记汇总
  • 科普文:从源码解读5种Redis基本数据类型
  • leetcode 2236.判断根节点是否等于字节点
  • MOELayer DEMO及注释
  • 你想活出怎样的人生?我只活一次,所以想做自己
  • LLM的训练与推断
  • 字节测开面筋大总结!!!!
  • Flutter 中自定义DNS解析的实现
  • 移动式气象站:便携科技的天气守望者
  • 制作excel模板,用于管理后台批量导入船舶数据
  • 「面试题」如何实现一个圣杯布局?
  • 5、React组件事件详解
  • css系列之关于字体的事
  • JAVA 学习IO流
  • JS基础之数据类型、对象、原型、原型链、继承
  • js继承的实现方法
  • Mithril.js 入门介绍
  • Octave 入门
  • Vue 重置组件到初始状态
  • 高性能JavaScript阅读简记(三)
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 配置 PM2 实现代码自动发布
  • 数组大概知多少
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 网页视频流m3u8/ts视频下载
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 说说我为什么看好Spring Cloud Alibaba
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #Linux(帮助手册)
  • #NOIP 2014# day.1 T2 联合权值
  • #在 README.md 中生成项目目录结构
  • #知识分享#笔记#学习方法
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (补充)IDEA项目结构
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)PySpark3:SparkSQL编程
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (南京观海微电子)——I3C协议介绍
  • (四)鸿鹄云架构一服务注册中心
  • (原)本想说脏话,奈何已放下
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)JAVA中的堆栈
  • (转)清华学霸演讲稿:永远不要说你已经尽力了