网站备案费用,如何在好医生网站做二类学分,网页加速器 安卓,青岛大型网站设计公司Jupyter Notebook 是一个 Web 应用程序#xff0c;便于创建和共享文学化程序文档#xff0c;支持实时代码、数学方程、可视化和 Markdown#xff0c;其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前#xff0c;数据挖掘领域中最热门的比赛 Kaggle 里的资…Jupyter Notebook 是一个 Web 应用程序便于创建和共享文学化程序文档支持实时代码、数学方程、可视化和 Markdown其用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。目前数据挖掘领域中最热门的比赛 Kaggle 里的资料都是 Jupyter 格式。对于机器学习新手来说学会使用 Jupyter Notebook 非常重要。
下面这篇 Jupyter Notebook 入门指南由 Pranav Dar 撰写。当你读完这篇文章时你将会了解为什么你应该利用它来搭建你的机器学习项目以及为什么 Jupyter Notebook 比这个领域的其他标准工具更好
▌什么是 Jupyter Notebook Jupyter Notebook 是一款开放源代码的 Web 应用程序可让我们创建并共享代码和文档。
它提供了一个环境你可以在其中记录代码运行代码查看结果可视化数据并在查看输出结果。这些特性使其成为一款执行端到端数据科学工作流程的便捷工具 可以用于数据清理统计建模构建和训练机器学习模型可视化数据以及许多其他用途。
当你还在构建项目原型时Jupyter Notebooks 真的特别好用因为你的代码是被写入独立的单元中并被单独执行的。这允许用户测试项目中的特定代码块而无需从脚本的开始执行代码。许多其他的 IDE 环境Integrated Development Environment 集成开发环境如 RStudio 也以其他几种方式做到这一点但我发现 Jupyter 的单个单元结构是最好的。
正如你在本文中将会看到的这些 Notebooks 是数据科学家手中非常灵活、可交互和强大的工具。他们甚至允许你运行除 Python 以外的其他语言比如 R 、SQL 等。由于它们比 IDE 平台更具交互性因此它们被广泛地应用于教学场景。
▌如何安装 Jupyter Notebook 首先你需要在机器上安装 PythonPython 2.7或Python 3.3或更高版本都可以。
Anaconda
新用户可以使用 Anaconda 发行版来同时安装 Python 和 Jupyter Notebooks。
Anaconda 安装了这两种工具并包含了数据科学和机器学习社区中常用的很多软件包。你可以从这里下载最新版本的Anaconda 。
下载地址https://jupyter.readthedocs.io/en/latest/install.html
pip 安装方法
如果出于某种原因你决定不使用 Anaconda那么你需要确保你的机器正在运行最新版本的 pip。怎么做如果你已经安装了 Python那么 pip 已经安装好了。要升级到最新的版本请参照下面的代码
#Linux and OSXpip install -U pip setuptools#Windowspython -m pip install -U pip setuptools一旦 pip 安装完毕你可以继续安装 Jupyter
#For Python2pip install jupyter#For Python3pip3 install jupyter你可以在这里地址https://jupyter.readthedocs.io/en/latest/install.html
查看官方的 Jupyter 安装文档。
▌开始 现在我们已经了解了 Notebooks 是什么以及如何在自己的机器上安装和设置 Notebooks。是时候开始动动手了
要运行 Jupyter Notebooks只需输入以下命令就可开始使用
jupyter notebook执行上面命令之后 Jupyter Notebook 将在你的默认浏览器中打开网址为http://localhost:8888/tree
在某些情况下它可能无法自动打开。这种情况下你的终端或者命令提示符中将会生成一个带有令牌密钥 token key 的网址。要打开 Notebook你需要将整个 URL包括令牌密钥复制粘贴到浏览器中。
Notebook 打开后你会在顶部看到三个选项卡Files文件Running运行和 Clusters集群。Files 基本上列出了所有的文件Running 显示你当前已经打开的终端和NotebooksClusters 由 IPython parallel 包提供用于并行计算。
要打开一个新的 Jupyter Notebook请单击页面右侧的“New”选项卡。在这里你有四个选项可供选择
⦁ Python 3
⦁ Text File (文本文件)
⦁ Folder (文件夹)
⦁ Terminal (终端)
在 “Text File” 选项中你会得到一个空白的文档。输入你喜欢的任何字母单词和数字。它基本上是一个文本编辑器类似于 Ubuntu 上的应用程序。你也可以选择一种语言支持非常多的语言然后用该语言来写一个脚本。你还可以查找和替换文件中的单词。
在 “Folder” 选项中 顾名思义它的功能就是创建文件夹。你可以创建一个新文件夹来放入文件重新命名或者删除它。
“Terminal” 的工作方式与你的 Mac 电脑或 Linux 电脑上的终端完全相同或者 Windows 上的 cmd 。它在你的Web浏览器中支持终端会话。在这个终端中输入 python 瞧现在你已经可以开始写 python 脚本了。
但在本文中我们将重点介绍 Notebooks因此我们将从“New”选项中选择 “Python 3” 选项。你会看到如下的截图 然后你可以导入最常见的 Python 库——pandas 和 numpy——来开始你的项目。代码上方的菜单栏提供了操作单元格的各种选项insert (添加)edit (编辑)cut (剪切)move cell up/down (上下移动单元格)run cells(在单元格中运行代码)interupt (停止代码)save (保存工作)以及 restart (重新启动内核)。 在下拉菜单中如上所示你有四个选项 Code - 这是你输入代码的地方 Markdown - 这是你输入文本的地方。你可以在运行代码后添加结论添加注释等。 Raw NBConvert - 这是一个命令行工具可将你的笔记本转换为另一种格式如 HTML Heading - 你可以将标题添加到单独的小节并使你的 Notebook 看起来干净整洁。这个选项现在已经集成到 Markdown 选项中。添加一个“##”以确保在你之后输入的内容将被视为标题
▌使用 Magic Functions 开发人员已经插入了预定义的 magic functions使你的工作更方便和更具交互性。你可以运行以下命令来查看这些函数的列表注意通常不需要输入“”因为通常 Automagic 是默认打开的
%lsmagic你会看到许多选项你甚至可能认识其中的 clear autosave debug 和 mkdir 等函数。magic command 有两种运行方式 逐行运行 Line-wise 逐块运行 Cell-wise
顾名思义 Line-wise 是当你想要执行一个单行命令的时候使用而 Cell-wise 是你想要执行的命令不仅仅是一行而是整个单元格中的整个代码块时使用。
在逐行运行模式中所有给定的命令都必须以 字符开始而在逐块运行模式下所有命令都必须以 %% 开头。让我们看看下面的例子来更好的理解
逐行模式
%time a range(10)逐块模式
%%timeit a range (10)min(a)我建议你运行这些命令看看其中的区别
▌不仅限于 Python - 在 Notebooks 中使用 RJulia 和JavaScript Notebooks 的魔术并不止于此。你甚至可以在 Notebooks 中使用其他语言如 RJuliaJavaScrip t等。我个人喜欢 R 中的 ggplot2 软件包因此使用 Notebooks 来进行探索性数据分析非常方便。
要在 Jupyter 中启用 R你需要 GitHub上提供的 IRKernel R 的专用内核。这里有一份详细的指南地址https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512总共需要八个步骤还有截图来引导你一步一步进行操作。
如果你是 Julia 用户你也可以在 Jupyter Notebooks 中使用它查看这篇详尽的文章地址地址https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512它重点介绍了 Julia 用户如何学习数据科学并包括了一章节介绍如何在 Jupyter 环境中使用 Julia。
如果你更喜欢使用 JavaScript我推荐使用 IJavascript 内核。查看这个 GitHub 库地址https://github.com/n-riesco/ijavascript它会引导你在不同操作系统上安装此内核。请注意你需要先安装 Node.js 和 npm 才能使用它。
▌Jupyter Notebooks 中的交互式命令板 在开始添加小插件widget之前你需要导入 widgets 包
from ipywidgets import widgets小插件的基本类型是典型的文本输入框和按钮。请参阅以下来自Dominodatalab 的示例了解一下交互式小插件是怎么使用的 你可以在这里地址https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/查看详尽的开发指南。
▌键盘快捷键——节省时间并提高效率 快捷键是 Jupyter Notebooks 最好用的功能之一。当你想运行任何代码块时你只需要按下Ctrl Enter 即可。Jupyter Notebooks 提供的键盘快捷键非常多为我们节省了大量时间。
以下是我们挑选的一些快捷键你在开始使用 Notebooks 时会经常用到这些快捷键。我强烈建议你阅读这些内容的时候一个一个地尝试一下这些快捷键。
Jupyter Notebook 提供了两种不同的键盘输入模式 - 命令和编辑。命令模式将键盘与 Notebook 命令绑定并由具有蓝色左边距的带有灰色单元格边框来表示。编辑模式允许你将文本或代码输入活动单元格并以绿色单元格边框表示。
使用 Esc 和 Enter 在命令和编辑模式之间跳转。现在就试试吧
一旦进入命令模式即没有活动单元格就可以尝试以下快捷键 A 键将在选中单元格上方插入新单元格B 键将在选中单元格下方插入一个单元格 要删除单元格请连续按两次 D 键 要撤消已删除的单元格请按 Z 键 Y 键将当前的选中单元格变成代码单元格 按住 Shift 向上或向下箭头键可以选择多个单元格。在多选模式下按 Shift M 会合并选中的单元格 F 键会弹出 “查找和替换” 菜单
处于编辑模式时在命令模式下按 Enter 键进入编辑模式你会发现以下快捷键非常好用 Ctrl Home 转到单元格的开头 Ctrl S 会保存你的工作 和上面提过的一样Ctrl Enter 将运行你的整个单元格 Alt Enter 不仅会运行你的单元格它还会在下方添加一个新的单元格 Ctrl Shift F 打开命令选项板
要查看整个键盘快捷键列表请在命令模式下按 H 或转到 Help 菜单栏下的 Keyboard shortcuts。请经常检查这些内容因为经常会有新的快捷键被加进来。
▌有用的 Jupyter Notebooks 扩展 扩展可以有效提高你的 Jupyter Notebooks 的生产力。安装和使用扩展的最佳工具之一是 Nbextensions。它需要两个简单的步骤来安装也有其他方法但我发现这是最方便的
第1步用 pip 来安装它
pip install jupyter_contrib_nbextensions第2步安装关联的 JavaScript 和 CSS 文件
jupyter contrib nbextension install --user完成此操作后你会在 Jupyter Notebook 主页顶部看到一个 Nbextensions 选项卡。这里面有很多非常棒的扩展供你使用。 要启用一个扩展只需点击它来激活。我在下面提到了4个我认为最有用的扩展
Code prettify重新格式化和美化代码块的内容。 Printview这个扩展添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert并可选择在新的浏览器标签中显示转换后的文件。 Scratchpad这个扩展增加一个便捷单元格它可以让你运行你的代码而不必修改你的 Notebook。这是一个非常方便的扩展特别是当你想要测试你的代码但不想在你的活动Notebook上做这件事。 Table of Contents (2)这个扩展可以收集你的 Notebook 中的所有标题并将它们显示在一个浮动窗口中。
这些只是你可以使用的其中一些扩展。我强烈建议查看整个扩展列表并对它们进行测试。
▌保存和共享你的 Notebook 这是 Jupyter Notebook 中最重要和最棒的功能之一。当我需要写博客文章但我的代码和注释都保存在 Jupyter 文件中时我需要先将它们转换为另一种格式。请记住这些 Notebooks 采用 json 格式在共享它时这并不是很有帮助。我无法在电子邮件或博客上发布不同的单元格或代码块对吧
进入 Files 菜单你会看到一个 Download As 选项 你可以将你的 Notebook 保存为 7 个选项中的任何一个。最常用的是 .ipynb 文件这样其他人就可以在自己的机器上复制代码或者保存为 .html 文件 这样会打开一个网页当你想要保存嵌入在 Notebook 中的图像时这会派上用场。
你也可以使用 nbconvert 选项手动将你的 Notebook 转换为不同的格式如 HTML 或 PDF。
你还可以使用 jupyterhub它允许你在其服务器上托管 Notebooks 并与多个用户共享。许多顶尖的研究项目都使用这个功能用于协作。
▌JupyterLab JupyterLab 于今年 2 月推出它允许以更灵活和更强大的方式处理项目但使用的是和 Jupyter Notebooks 相同的组件。JupyterLab 环境与 Jupyter Notebooks 完全相同但用户会有更高效的体验。 在 JupyterLab 中你只需一个窗口即可安排 Notebook 的工作区域、终端、文本文件和输出你要做的仅仅是将单元格拖放到你想要的位置。你还可以通过实时预览功能来编辑常用文件格式如 Markdown、CSV 和 JSON以便在实际文件中实时查看所发生的变化。
如果你想在你的机器上试用它你可以在这里查看安装说明地址http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html。开发人员的目标是 JupyterLab 最终可以取代 Jupyter Notebooks。但是要做到这一点还要花点时间。
▌最佳实践 虽然单独工作可能很有趣 但大多数时候你会发现自己是在一个团队中工作。在这种情况下遵循指导方针和最佳实践非常重要这样可以确保你的代码和 Jupyter Notebooks 被正确标注以便与你的团队成员保持一致。下面我列出了一些最佳实践指南你在 Jupyter Notebooks 上工作时一定要遵循以下指南 对于任何程序员来说最重要的事情之一始终确保为代码添加合适的注释 确保你有代码所需的文档。 考虑一个命名方案并坚持在所有代码中使用以确保一致性。这样其他人更容易读懂你的代码。 无论你需要什么库在 Notebooks 开始时导入它们并在它们旁边添加注释说明导入它们的目的。 确保代码中行与行之间有适当间隔不要把循环和函数放在同一行中。 有时候你会发现你的文件变得非常繁重。看看有没有方法隐藏你认为对于以后参考不太重要的代码。Notebooks 看起来整洁干净 让人赏心悦目也非常重要。 Matplotlib 可以很漂亮整洁地展示你的 Notebook看看怎么使用它 地址http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb
另一个提示当你想创建演示文稿时首先想到的工具是 PowerPoint 和 Google Slides。其实你的 Jupyter Notebooks 也可以创建幻灯片还记得我说它超级灵活吗我一点都没有夸大。
要将你的 Notebooks 转换为幻灯片请转到 View - Cell Toolbar然后单击 Slideshow。看现在每个代码块都在右侧显示一个 Slide Type 的下拉选项。它提供了以下 5 个选项 好好试一试每一个选项以更好地理解它它会改变你呈现你的代码的方式
▌结语 请注意这篇文章并没有详尽列出 Jupyter Notebooks 提供的所有功能。还有更多的功能等着你在使用中挖掘。和其他很多事情一样关键在于实践。
最后分享一个 GitHub 库地址https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks里面有很多有用的内容。