编辑:Python早鸟
Jupyter Notebook 是一款Web 应用程序,可以轻松创建和共享文学程序文档,并支持实时代码、数学、可视化和Markdown。其应用包括数据清理和转换、数值模拟、统计建模、机器学习等。 Kaggle是目前数据挖掘领域最热门的竞赛,其数据采用Jupyter格式。学习如何使用Jupyter Notebook 对于机器学习初学者来说非常重要。
以下Jupyter Notebooks 入门指南由Pranav Dar 编写。读完本文后,您将了解为什么应该使用Jupyter Notebook 来构建机器学习项目,以及为什么它比该领域的其他标准工具更好。
什么是 Jupyter Notebook?
Jupyter Notebook 是一个开源Web 应用程序,可让您创建和共享代码和文档。
提供一个可以记录代码、运行代码、查看结果、可视化数据和查看输出的环境。这些功能使其成为执行端到端数据科学工作流程的有用工具,用于数据清理、统计建模、构建和训练机器学习模型、数据可视化和许多其他用途。
当您对项目进行原型设计时,Jupyter Notebook 非常有用,因为代码是在单独的单元中编写并单独执行的。这允许用户测试项目中的特定代码块,而无需从脚本的开头运行代码。许多其他IDE 环境(集成开发环境)(例如RStudio)通过其他几种方式来做到这一点,但我认为Jupyter 的单单元结构是最好的。
正如您将在本文中看到的,这些笔记本对于数据科学家来说是极其灵活、交互式且强大的工具。除了Python之外,还可以运行其他语言,例如R和SQL。它们比IDE 平台更具交互性,因此广泛应用于教育场景。
如何安装Jupyter Notebook?
首先,您需要在计算机上安装Python。 Python 2.7 或Python 3.3(或更高版本)可以工作。
蟒蛇
新用户可以使用Anaconda 发行版安装Python 和Jupyter Notebook。
Anaconda 安装这两种工具,并包含数据科学和机器学习社区中常用的许多软件包。您可以在此处下载最新版本的Anaconda。
下载地址:https://jupyter.readthedocs.io/en/latest/install.html
如何安装点子
如果您出于某种原因决定不使用Anaconda,则需要确保您的计算机正在运行最新版本的pip。我该怎么做?如果您已经安装了Python,则pip 也已经安装。请参考以下代码升级至最新版本。
#Linux 和OSXpip install -U pip setuptools#Windowspython -m pip install -U pip setuptool 安装spip 后,您可以继续安装Jupyter。
#对于Python2pip,安装jupyter。 #对于Python3pip3,安装jupyter。 Jupyter官方安装文档可以在这里找到(地址:https://jupyter.readthedocs.io/en/latest/install.html)。
开始
现在您知道什么是笔记本电脑以及如何在计算机上安装和设置它。让我们开始吧!
要运行Jupyter Notebook,只需键入以下命令即可开始。
当jupyter Notebook 运行上述命令时,Jupyter Notebook 将在默认浏览器中打开,网址为:http://localhost:8888/tree。
在某些情况下,它可能不会自动打开。在这种情况下,会在终端或命令提示符中生成包含令牌密钥的URL。要打开笔记本,您必须将整个URL(包括令牌密钥)复制并粘贴到浏览器中。
当您打开笔记本时,您将在顶部看到三个选项卡:文件、运行和集群。文件基本上列出了您的所有文件,并且在运行时它会向您显示当前打开的终端和笔记本。集群由IPython并行包提供,用于并行计算。
要打开新的Jupyter Notebook,请单击页面右侧的“新建”选项卡。在这里您可以从四个选项中进行选择:
Python 3 文本文件(Text File) 文件夹(Folder) 终端(Terminal) “文本文件”选项给你一个空文档。输入您喜欢的任何字母、单词或数字。它基本上是一个文本编辑器(类似于Ubuntu 的应用程序)。您还可以选择一种语言(支持多种语言)并用该语言编写脚本。您还可以搜索和替换文件中的单词。
在“文件夹”选项中,顾名思义,它的功能就是创建一个文件夹。您可以创建新文件夹来放置文件、重命名它们或删除它们。
终端的工作方式与Mac 或Linux 计算机上的终端(或Windows 上的cmd)完全相同。支持Web 浏览器中的终端会话。在这个终端中输入“python”,瞧!现在您已准备好编写Python 脚本。
但是,由于本文重点讨论笔记本,因此请从“新建”选项中选择“Python 3”选项。您将看到以下屏幕截图。
然后,您可以通过导入最流行的Python 库——pandas 和numpy—— 来启动您的项目。代码上方的菜单栏提供了用于处理单元格的各种选项。 Insert(添加)、Edit(编辑)、Cut(剪切)、Move cell up or down(上下移动单元格)、Run cell(在单元格执行代码中)、Interrupt(停止代码)、Save(保存工作)、以及重新启动(内核重新启动)。
下拉菜单(如上所示)有四个选项:
代码- 在此输入您的代码。 Markdown - 在此输入您的文本。您可以在代码运行后添加结论或添加注释。 Raw NBConvert - 这是一个命令行工具,可将笔记本转换为其他格式(例如HTML)。 标题- 将标题添加到各个小节,使您的笔记本看起来更干净、更有条理。此选项已与Markdown 选项合并。如果添加“##”,则后面输入的内容将被视为标题。
使用 Magic Functions
开发者插入了预定义的神奇功能,使您的工作更加方便和互动。您可以通过运行以下命令来查看这些功能的列表(注意:Automagic 通常默认打开,因此您通常不需要键入“”)。
%lsmagic 显示许多选项,其中您可能会注意到%clear、%autosave、%debug 和%mkdir 功能。有两种方法可以执行魔法命令。
按行运行(Line by Line) 按块运行(Cell by Cell) 顾名思义,Row by Row 用于运行单行命令,Cell by Cell 用于运行单行命令。对整个单元格使用不仅仅是一行的命令,而不是整个代码块。
在逐行模式下,指定的所有命令都必须以% 字符开头,在逐块模式下,所有命令都必须以%% 开头。让我们看一下以下示例以更好地理解:
渐进模式:
%time a=range(10) 分块模式:
%%timeit a=range (10)min(a) 我建议运行这些命令来查看差异。
不仅限于 Python - 在 Notebooks 中使用 R,Julia 和JavaScript
笔记本的魔力还不止于此。您还可以将其他语言与Notebook 一起使用,例如R、Julia 和JavaScript。我个人很喜欢R中的ggplot2包,发现使用Notebooks进行探索性数据分析非常方便。
在Jupyter 中启用R 需要GitHub 上提供的IRKernel(R 特定内核)。这里有一个详细的指南,总共8个步骤,并有截图来逐步进行操作。
如果您是Julia 用户,还可以使用Jupyter Notebook。查看这篇深入文章,重点介绍Julia 用户如何学习数据科学。还包括有关在Jupyter 环境中使用Julia 的章节。
如果您想使用JavaScript,我们建议使用IJavaScript Core。查看此GitHub 存储库(https://github.com/n-riesco/ijavascript)。提供了在各种操作系统上安装此内核的步骤。请注意,使用前需要安装Node.js 和npm。
Jupyter Notebooks 中的交互式命令板
在开始添加小部件之前,必须导入小部件包。
从ipywidgets 导入小部件小部件的基本类型是典型的文本输入框和按钮。要了解如何使用交互式小部件,请参阅Dominodatalab 中的以下示例。
详细的开发指南可以在这里找到(地址:https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/)。
键盘快捷键——节省时间并提高效率!
快捷键是Jupyter Notebook 最有用的功能之一。如果要运行一段代码,只需按Ctrl + Enter。 Jupyter Notebook 提供了许多键盘快捷键,可以节省您大量时间。
以下是一些帮助您开始使用Notebook 的常用快捷方式。我强烈建议您在阅读本文时一一尝试这些快捷方式。
Jupyter Notebook 提供了两种不同的键盘输入模式:命令和编辑。命令模式将键盘绑定到笔记本命令,并由带有蓝色左边距的灰色单元格边框表示。编辑模式允许您在活动单元格中输入文本(或代码),由绿色单元格边框表示。
使用Esc 和Enter 在命令模式和编辑模式之间移动。现在就试试吧!
进入命令模式(即没有任何单元格处于活动状态)后,您可以尝试以下快捷键:
按A 在所选单元格上方插入新单元格,按B 在所选单元格下方插入单元格。 要删除单元格,请按D。要恢复已删除的单元格,请按Z Y。要将当前选定的单元格更改为代码单元格,请按Shift+向上键或向下键选择多个单元格。在多选模式下,按Shift + M 合并选定的单元格。如果处于编辑模式,则会出现“查找和替换”菜单(在命令模式下按Enter 键进入编辑模式)。您会发现以下快捷键非常易于使用。
Ctrl + Home 转到单元格的开头Ctrl + S 保存您的工作如上所述,Ctrl + Enter 执行整个单元格Alt + Enter 不仅执行单元格,还在单元格下方执行添加新单元格Ctrl + Shift + F 打开命令面板要查看键盘快捷键的完整列表,请在命令模式下按H 或转到帮助菜单栏中的键盘快捷键。经常添加新的快捷方式,因此请经常检查它们。
有用的Jupyter Notebook 扩展
扩展可以有效提高您的Jupyter Notebook 工作效率。安装和使用扩展的最佳工具之一是Nbextensions。有两个简单的步骤即可安装(还有其他方法,但我认为这是最方便的)。
步骤1:使用pip安装。
pip install jupyter_contrib_nbextensions 步骤2:安装相关的JavaScript 和CSS 文件。
jupyter contrib nbextension install --user 完成此操作后,您将在Jupyter Notebook 主页顶部看到一个Nbextensions 选项卡。您可以使用许多出色的扩展。
要启用该扩展,请单击该扩展并启用它。下面列出了我认为最有用的四个扩展。
代码格式化:重新格式化和美化代码块的内容。Printview:此扩展在当前笔记本上调用jupyter nbconvert,并可选择添加一个工具栏按钮以在新的浏览器选项卡中显示转换后的文件。 Scratchpad:此扩展添加了一个方便的单元格,允许您在不修改笔记本的情况下运行代码。如果您想测试代码但不在活动笔记本中,这是一个特别有用的扩展。目录(2):此扩展收集笔记本中的所有标题并将其显示在浮动窗口中。这些只是一些可用的扩展。我们强烈建议检查并测试整个扩展列表。
保存并分享您的笔记本
这是Jupyter Notebook 最重要、最酷的功能之一。如果您需要撰写博客文章,但您的代码和评论存储在Jupyter 文件中,您首先需要将它们转换为另一种格式。请注意,这些笔记本是json 格式,因此它们对于共享来说不是很有用。您不得将其他单元格或代码块发布到您的电子邮件或博客中。
进入“文件”菜单后,您将看到“下载为”选项。
您可以将笔记本保存为七个选项之一。最常用的是允许其他人将代码复制到他们的计算机上的.ipynb 文件,或打开网页的.html 文件(用于存储嵌入笔记本中的图像)。
您还可以使用nbconvert 选项手动将笔记本转换为其他格式,例如HTML 或PDF。
jupyterhub 允许您在服务器上托管笔记本并与多个用户共享。许多顶级研究项目都使用此功能进行协作。
木星实验室
JupyterLab 于今年2 月发布,支持更灵活、更强大的项目工作方式,但使用与Jupyter Notebooks 相同的组件。 JupyterLab环境与Jupyter Notebook相同,但用户获得更高效的体验。
JupyterLab 仅需要一个窗口来放置笔记本工作区、终端、文本文件和输出。只需将单元格拖放到您想要的位置即可。您还可以编辑流行的文件格式,例如Markdown、CSV 和JSON,并带有实时预览功能,以实时查看实际的文件更改。
如果您想在您的计算机上尝试它,请查看此处的安装说明。开发者的目标是让JupyterLab 最终取代Jupyter Notebook。然而,到达那里需要时间。
最佳实践
虽然单独工作很有趣,但大多数时候你会在团队中工作。在这种情况下,遵循指南和最佳实践非常重要,以确保您的代码和Jupyter 笔记本经过正确注释,以便与团队成员保持一致。以下是使用Jupyter Notebook 时应始终遵循的一些最佳实践指南。
对于程序员来说,最重要的事情之一就是始终向他们的代码添加适当的注释。确保您的代码具有必要的文档。为了确保一致性,请考虑您的命名方案并在所有代码中坚持该方案。这使得代码更容易被其他人阅读。无论您需要什么库,都可以将它们导入笔记本的顶部(并在库旁边添加注释以表明导入的目的)。确保代码行之间有足够的间距,并避免将循环和函数放在同一行上。在某些情况下,文件可能会变得非常重。看看是否有一种方法可以隐藏对于将来参考来说似乎不那么重要的代码。同样重要的是,你的笔记要整洁、赏心悦目。 Matplotlib 可以让你漂亮、整齐地展示你的笔记本。了解如何使用它。地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb 另一个提示!当您想要创建演示文稿时,首先想到的工具是PowerPoint 和谷歌幻灯片是。事实上,您甚至可以在Jupyter Notebook 中创建幻灯片。还记得我说过它非常灵活吗?
要将笔记本变成幻灯片,请转到“视图”>“单元格工具栏”,然后单击“幻灯片”。看!您将在每个代码块的右侧看到一个幻灯片类型下拉选项。提供了五个选项:
尝试每个选项以更好地理解。代码的呈现方式将会改变。
结论
请注意,本文并不是Jupyter Notebooks 提供的所有功能的完整列表。您在使用它时可以探索更多功能。与许多事情一样,关键是练习。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。