<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Jupyter Notebook好用在哪?

          共 9829字,需瀏覽 20分鐘

           ·

          2023-10-27 00:48

          Jupyter Notebook 是一個(gè) Web 應(yīng)用程序,便于創(chuàng)建和共享文學(xué)化程序文檔,支持實(shí)時(shí)代碼、數(shù)學(xué)方程、可視化和 Markdown,其用途包括數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值模擬、統(tǒng)計(jì)建模、機(jī)器學(xué)習(xí)等等。目前,數(shù)據(jù)挖掘領(lǐng)域中最熱門(mén)的比賽 Kaggle 里的資料都是 Jupyter 格式。對(duì)于機(jī)器學(xué)習(xí)新手來(lái)說(shuō),學(xué)會(huì)使用 Jupyter Notebook 非常重要。
          下面這篇 Jupyter Notebook 入門(mén)指南由 Pranav Dar 撰寫(xiě)。當(dāng)你讀完這篇文章時(shí),你將會(huì)了解,為什么你應(yīng)該利用它來(lái)搭建你的機(jī)器學(xué)習(xí)項(xiàng)目,以及為什么 Jupyter Notebook 比這個(gè)領(lǐng)域的其他標(biāo)準(zhǔn)工具更好!

          什么是 Jupyter Notebook?

          Jupyter Notebook 是一款開(kāi)放源代碼的 Web 應(yīng)用程序,可讓我們創(chuàng)建并共享代碼和文檔。
          它提供了一個(gè)環(huán)境,你可以在其中記錄代碼,運(yùn)行代碼,查看結(jié)果,可視化數(shù)據(jù)并在查看輸出結(jié)果。這些特性使其成為一款執(zhí)行端到端數(shù)據(jù)科學(xué)工作流程的便捷工具 ,可以用于數(shù)據(jù)清理,統(tǒng)計(jì)建模,構(gòu)建和訓(xùn)練機(jī)器學(xué)習(xí)模型,可視化數(shù)據(jù)以及許多其他用途。
          當(dāng)你還在構(gòu)建項(xiàng)目原型時(shí),Jupyter Notebooks 真的特別好用,因?yàn)槟愕拇a是被寫(xiě)入獨(dú)立的單元中并被單獨(dú)執(zhí)行的。這允許用戶測(cè)試項(xiàng)目中的特定代碼塊,而無(wú)需從腳本的開(kāi)始執(zhí)行代碼。許多其他的 IDE 環(huán)境(Integrated Development Environment, 集成開(kāi)發(fā)環(huán)境)(如 RStudio )也以其他幾種方式做到這一點(diǎn),但我發(fā)現(xiàn) Jupyter 的單個(gè)單元結(jié)構(gòu)是最好的。
          正如你在本文中將會(huì)看到的,這些 Notebooks 是數(shù)據(jù)科學(xué)家手中非常靈活、可交互和強(qiáng)大的工具。他們甚至允許你運(yùn)行除 Python 以外的其他語(yǔ)言,比如 R 、SQL 等。由于它們比 IDE 平臺(tái)更具交互性,因此它們被廣泛地應(yīng)用于教學(xué)場(chǎng)景。
          如何安裝 Jupyter Notebook?
          首先你需要在機(jī)器上安裝 Python,Python 2.7或Python 3.3(或更高版本)都可以。
          Anaconda
          新用戶可以使用 Anaconda 發(fā)行版來(lái)同時(shí)安裝 Python 和 Jupyter Notebooks。
          Anaconda 安裝了這兩種工具,并包含了數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)社區(qū)中常用的很多軟件包。你可以從這里下載最新版本的Anaconda 。
          下載地址:https://jupyter.readthedocs.io/en/latest/install.html
          pip 安裝方法
          如果出于某種原因,你決定不使用 Anaconda,那么你需要確保你的機(jī)器正在運(yùn)行最新版本的 pip。怎么做?如果你已經(jīng)安裝了 Python,那么 pip 已經(jīng)安裝好了。要升級(jí)到最新的版本,請(qǐng)參照下面的代碼:
             
             
          #Linux and OSX
          pip install -U pip setuptools
          #Windows
          python -m pip install -U pip setuptools

          一旦 pip 安裝完畢,你可以繼續(xù)安裝 Jupyter:
             
             
          #For Python2
          pip install jupyter
          #For Python3
          pip3 install jupyter
          你可以在這里(地址:https://jupyter.readthedocs.io/en/latest/install.html)查看官方的 Jupyter 安裝文檔。
          開(kāi)始
          現(xiàn)在我們已經(jīng)了解了 Notebooks 是什么,以及如何在自己的機(jī)器上安裝和設(shè)置 Notebooks。是時(shí)候開(kāi)始動(dòng)動(dòng)手了!
          要運(yùn)行 Jupyter Notebooks,只需輸入以下命令就可開(kāi)始使用!
             
             
          jupyter notebook
          執(zhí)行上面命令之后, Jupyter Notebook 將在你的默認(rèn)瀏覽器中打開(kāi),網(wǎng)址為:http://localhost:8888/tree
          在某些情況下,它可能無(wú)法自動(dòng)打開(kāi)。這種情況下,你的終端或者命令提示符中將會(huì)生成一個(gè)帶有令牌密鑰( token key )的網(wǎng)址。要打開(kāi) Notebook,你需要將整個(gè) URL(包括令牌密鑰)復(fù)制粘貼到瀏覽器中。
          Notebook 打開(kāi)后,你會(huì)在頂部看到三個(gè)選項(xiàng)卡:Files(文件),Running(運(yùn)行)和 Clusters(集群)。Files 基本上列出了所有的文件,Running 顯示你當(dāng)前已經(jīng)打開(kāi)的終端和Notebooks,Clusters 由 IPython parallel 包提供,用于并行計(jì)算。
          要打開(kāi)一個(gè)新的 Jupyter Notebook,請(qǐng)單擊頁(yè)面右側(cè)的“New”選項(xiàng)卡。在這里,你有四個(gè)選項(xiàng)可供選擇:
          • Python 3
          • Text File (文本文件)
          • Folder (文件夾)
          • Terminal (終端)
          在 "Text File" 選項(xiàng)中,你會(huì)得到一個(gè)空白的文檔。輸入你喜歡的任何字母,單詞和數(shù)字。它基本上是一個(gè)文本編輯器(類(lèi)似于 Ubuntu 上的應(yīng)用程序)。你也可以選擇一種語(yǔ)言(支持非常多的語(yǔ)言),然后用該語(yǔ)言來(lái)寫(xiě)一個(gè)腳本。你還可以查找和替換文件中的單詞。
          在 "Folder" 選項(xiàng)中, 顧名思義它的功能就是創(chuàng)建文件夾。你可以創(chuàng)建一個(gè)新文件夾來(lái)放入文件,重新命名或者刪除它。
          "Terminal" 的工作方式與你的 Mac 電腦或 Linux 電腦上的終端完全相同(或者 Windows 上的 cmd )。它在你的Web瀏覽器中支持終端會(huì)話。在這個(gè)終端中輸入 python ,瞧!現(xiàn)在你已經(jīng)可以開(kāi)始寫(xiě) python 腳本了。
          但在本文中,我們將重點(diǎn)介紹 Notebooks,因此我們將從“New”選項(xiàng)中選擇 "Python 3" 選項(xiàng)。你會(huì)看到如下的截圖:
          然后,你可以導(dǎo)入最常見(jiàn)的 Python 庫(kù)——pandas 和 numpy——來(lái)開(kāi)始你的項(xiàng)目。代碼上方的菜單欄提供了操作單元格的各種選項(xiàng):insert (添加),edit (編輯),cut (剪切),move cell up/down (上下移動(dòng)單元格),run cells(在單元格中運(yùn)行代碼),interupt (停止代碼),save (保存工作),以及 restart (重新啟動(dòng)內(nèi)核)。
          在下拉菜單中(如上所示),你有四個(gè)選項(xiàng):
          • Code - 這是你輸入代碼的地方
          • Markdown - 這是你輸入文本的地方。你可以在運(yùn)行代碼后添加結(jié)論,添加注釋等。
          • Raw NBConvert - 這是一個(gè)命令行工具,可將你的筆記本轉(zhuǎn)換為另一種格式(如 HTML)
          • Heading - 你可以將標(biāo)題添加到單獨(dú)的小節(jié)并使你的 Notebook 看起來(lái)干凈整潔。這個(gè)選項(xiàng)現(xiàn)在已經(jīng)集成到 Markdown 選項(xiàng)中。添加一個(gè)“##”,以確保在你之后輸入的內(nèi)容將被視為標(biāo)題

          使用 Magic Functions

          開(kāi)發(fā)人員已經(jīng)插入了預(yù)定義的 magic functions,使你的工作更方便和更具交互性。你可以運(yùn)行以下命令來(lái)查看這些函數(shù)的列表(注意:通常不需要輸入“%”,因?yàn)橥ǔ?Automagic 是默認(rèn)打開(kāi)的):
             
             
          %lsmagic
          你會(huì)看到許多選項(xiàng),你甚至可能認(rèn)識(shí)其中的 %clear, %autosave, %debug 和 %mkdir 等函數(shù)。magic command 有兩種運(yùn)行方式:
          • 逐行運(yùn)行( Line-wise )
          • 逐塊運(yùn)行( Cell-wise )
          顧名思義, Line-wise 是當(dāng)你想要執(zhí)行一個(gè)單行命令的時(shí)候使用,而 Cell-wise 是你想要執(zhí)行的命令不僅僅是一行,而是整個(gè)單元格中的整個(gè)代碼塊時(shí)使用。
          在逐行運(yùn)行模式中,所有給定的命令都必須以 % 字符開(kāi)始,而在逐塊運(yùn)行模式下,所有命令都必須以 %% 開(kāi)頭。讓我們看看下面的例子來(lái)更好的理解:
          逐行模式:
             
             
          %time a = range(10)
          逐塊模式:
             
             
          %%timeit a = range (10)
             
             
          min(a)
          我建議你運(yùn)行這些命令,看看其中的區(qū)別!

          不僅限于 Python - 在 Notebooks 中使用 R,Julia 和JavaScript

          Notebooks 的魔術(shù)并不止于此。你甚至可以在 Notebooks 中使用其他語(yǔ)言,如 R,Julia,JavaScrip t等。我個(gè)人喜歡 R 中的 ggplot2 軟件包,因此使用 Notebooks 來(lái)進(jìn)行探索性數(shù)據(jù)分析非常方便。
          要在 Jupyter 中啟用 R,你需要 GitHub上提供的 IRKernel( R 的專用內(nèi)核)。這里有一份詳細(xì)的指南(地址:https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512),總共需要八個(gè)步驟,還有截圖來(lái)引導(dǎo)你一步一步進(jìn)行操作。
          如果你是 Julia 用戶,你也可以在 Jupyter Notebooks 中使用它!查看這篇詳盡的文章(地址:地址:https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512),它重點(diǎn)介紹了 Julia 用戶如何學(xué)習(xí)數(shù)據(jù)科學(xué),并包括了一章節(jié)介紹如何在 Jupyter 環(huán)境中使用 Julia。
          如果你更喜歡使用 JavaScript,我推薦使用 IJavascript 內(nèi)核。查看這個(gè) GitHub 庫(kù)(地址:https://github.com/n-riesco/ijavascript),它會(huì)引導(dǎo)你在不同操作系統(tǒng)上安裝此內(nèi)核。請(qǐng)注意,你需要先安裝 Node.js 和 npm 才能使用它。

          Jupyter Notebooks 中的交互式命令板

          在開(kāi)始添加小插件(widget)之前,你需要導(dǎo)入 widgets 包:
             
             
          from ipywidgets import widgets
          小插件的基本類(lèi)型是典型的文本輸入框和按鈕。請(qǐng)參閱以下來(lái)自Dominodatalab 的示例,了解一下交互式小插件是怎么使用的:
          你可以在這里(地址:https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/)查看詳盡的開(kāi)發(fā)指南。

          鍵盤(pán)快捷鍵——節(jié)省時(shí)間并提高效率!

          快捷鍵是 Jupyter Notebooks 最好用的功能之一。當(dāng)你想運(yùn)行任何代碼塊時(shí),你只需要按下Ctrl + Enter 即可。Jupyter Notebooks 提供的鍵盤(pán)快捷鍵非常多,為我們節(jié)省了大量時(shí)間。
          以下是我們挑選的一些快捷鍵,你在開(kāi)始使用 Notebooks 時(shí)會(huì)經(jīng)常用到這些快捷鍵。我強(qiáng)烈建議你閱讀這些內(nèi)容的時(shí)候一個(gè)一個(gè)地嘗試一下這些快捷鍵。
          Jupyter Notebook 提供了兩種不同的鍵盤(pán)輸入模式 - 命令和編輯。命令模式將鍵盤(pán)與 Notebook 命令綁定,并由具有藍(lán)色左邊距的帶有灰色單元格邊框來(lái)表示。編輯模式允許你將文本(或代碼)輸入活動(dòng)單元格,并以綠色單元格邊框表示。
          使用 Esc 和 Enter 在命令和編輯模式之間跳轉(zhuǎn)。現(xiàn)在就試試吧!
          一旦進(jìn)入命令模式(即沒(méi)有活動(dòng)單元格),就可以嘗試以下快捷鍵:
          • A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個(gè)單元格
          • 要?jiǎng)h除單元格,請(qǐng)連續(xù)按兩次 D 鍵
          • 要撤消已刪除的單元格,請(qǐng)按 Z 鍵
          • Y 鍵將當(dāng)前的選中單元格變成代碼單元格
          • 按住 Shift + 向上或向下箭頭鍵可以選擇多個(gè)單元格。在多選模式下,按 Shift + M 會(huì)合并選中的單元格
          • F 鍵會(huì)彈出 “查找和替換” 菜單
          處于編輯模式時(shí)(在命令模式下按 Enter 鍵進(jìn)入編輯模式),你會(huì)發(fā)現(xiàn)以下快捷鍵非常好用:
          • Ctrl + Home 轉(zhuǎn)到單元格的開(kāi)頭
          • Ctrl + S 會(huì)保存你的工作
          • 和上面提過(guò)的一樣,Ctrl + Enter 將運(yùn)行你的整個(gè)單元格
          • Alt + Enter 不僅會(huì)運(yùn)行你的單元格,它還會(huì)在下方添加一個(gè)新的單元格
          • Ctrl + Shift + F 打開(kāi)命令選項(xiàng)板
          要查看整個(gè)鍵盤(pán)快捷鍵列表,請(qǐng)?jiān)诿钅J较掳?H 或轉(zhuǎn)到 Help 菜單欄下的 Keyboard shortcuts。請(qǐng)經(jīng)常檢查這些內(nèi)容,因?yàn)榻?jīng)常會(huì)有新的快捷鍵被加進(jìn)來(lái)。
          有用的 Jupyter Notebooks 擴(kuò)展
          擴(kuò)展可以有效提高你的 Jupyter Notebooks 的生產(chǎn)力。安裝和使用擴(kuò)展的最佳工具之一是 Nbextensions。它需要兩個(gè)簡(jiǎn)單的步驟來(lái)安裝(也有其他方法,但我發(fā)現(xiàn)這是最方便的):
          第1步:用 pip 來(lái)安裝它:
             
             
          pip install jupyter_contrib_nbextensions
          第2步:安裝關(guān)聯(lián)的 JavaScript 和 CSS 文件:
             
             
          jupyter contrib nbextension install --user
          完成此操作后,你會(huì)在 Jupyter Notebook 主頁(yè)頂部看到一個(gè) Nbextensions 選項(xiàng)卡。這里面有很多非常棒的擴(kuò)展供你使用。
          要啟用一個(gè)擴(kuò)展,只需點(diǎn)擊它來(lái)激活。我在下面提到了4個(gè)我認(rèn)為最有用的擴(kuò)展:
          • Code prettify:重新格式化和美化代碼塊的內(nèi)容。
          • Printview:這個(gè)擴(kuò)展添加了一個(gè)工具欄按鈕來(lái)調(diào)用當(dāng)前 Notebook 的 jupyter nbconvert,并可選擇在新的瀏覽器標(biāo)簽中顯示轉(zhuǎn)換后的文件。
          • Scratchpad:這個(gè)擴(kuò)展增加一個(gè)便捷單元格,它可以讓你運(yùn)行你的代碼而不必修改你的 Notebook。這是一個(gè)非常方便的擴(kuò)展,特別是當(dāng)你想要測(cè)試你的代碼,但不想在你的活動(dòng)Notebook上做這件事。
          • Table of Contents (2):這個(gè)擴(kuò)展可以收集你的 Notebook 中的所有標(biāo)題,并將它們顯示在一個(gè)浮動(dòng)窗口中。
          這些只是你可以使用的其中一些擴(kuò)展。我強(qiáng)烈建議查看整個(gè)擴(kuò)展列表并對(duì)它們進(jìn)行測(cè)試。
          保存和共享你的 Notebook
          這是 Jupyter Notebook 中最重要和最棒的功能之一。當(dāng)我需要寫(xiě)博客文章,但我的代碼和注釋都保存在 Jupyter 文件中時(shí),我需要先將它們轉(zhuǎn)換為另一種格式。請(qǐng)記住,這些 Notebooks 采用 json 格式,在共享它時(shí)這并不是很有幫助。我無(wú)法在電子郵件或博客上發(fā)布不同的單元格或代碼塊,對(duì)吧?
          進(jìn)入 Files 菜單,你會(huì)看到一個(gè) Download As 選項(xiàng):
          你可以將你的 Notebook 保存為 7 個(gè)選項(xiàng)中的任何一個(gè)。最常用的是 .ipynb 文件,這樣其他人就可以在自己的機(jī)器上復(fù)制代碼;或者保存為 .html 文件, 這樣會(huì)打開(kāi)一個(gè)網(wǎng)頁(yè)(當(dāng)你想要保存嵌入在 Notebook 中的圖像時(shí),這會(huì)派上用場(chǎng))。
          你也可以使用 nbconvert 選項(xiàng)手動(dòng)將你的 Notebook 轉(zhuǎn)換為不同的格式,如 HTML 或 PDF。
          你還可以使用 jupyterhub,它允許你在其服務(wù)器上托管 Notebooks 并與多個(gè)用戶共享。許多頂尖的研究項(xiàng)目都使用這個(gè)功能用于協(xié)作。
          JupyterLab
          JupyterLab 于今年 2 月推出,它允許以更靈活和更強(qiáng)大的方式處理項(xiàng)目,但使用的是和 Jupyter Notebooks 相同的組件。JupyterLab 環(huán)境與 Jupyter Notebooks 完全相同,但用戶會(huì)有更高效的體驗(yàn)。
          在 JupyterLab 中,你只需一個(gè)窗口即可安排 Notebook 的工作區(qū)域、終端、文本文件和輸出!你要做的僅僅是將單元格拖放到你想要的位置。你還可以通過(guò)實(shí)時(shí)預(yù)覽功能來(lái)編輯常用文件格式,如 Markdown、CSV 和 JSON,以便在實(shí)際文件中實(shí)時(shí)查看所發(fā)生的變化。
          如果你想在你的機(jī)器上試用它,你可以在這里查看安裝說(shuō)明(地址:http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)。開(kāi)發(fā)人員的目標(biāo)是  JupyterLab 最終可以取代 Jupyter Notebooks。但是,要做到這一點(diǎn)還要花點(diǎn)時(shí)間。
          最佳實(shí)踐
          雖然單獨(dú)工作可能很有趣, 但大多數(shù)時(shí)候你會(huì)發(fā)現(xiàn)自己是在一個(gè)團(tuán)隊(duì)中工作。在這種情況下,遵循指導(dǎo)方針和最佳實(shí)踐非常重要,這樣可以確保你的代碼和 Jupyter Notebooks 被正確標(biāo)注,以便與你的團(tuán)隊(duì)成員保持一致。下面我列出了一些最佳實(shí)踐指南,你在 Jupyter Notebooks 上工作時(shí)一定要遵循以下指南:
          • 對(duì)于任何程序員來(lái)說(shuō)最重要的事情之一:始終確保為代碼添加合適的注釋!
          • 確保你有代碼所需的文檔。
          • 考慮一個(gè)命名方案,并堅(jiān)持在所有代碼中使用以確保一致性。這樣其他人更容易讀懂你的代碼。
          • 無(wú)論你需要什么庫(kù),在 Notebooks 開(kāi)始時(shí)導(dǎo)入它們(并在它們旁邊添加注釋,說(shuō)明導(dǎo)入它們的目的)。
          • 確保代碼中行與行之間有適當(dāng)間隔,不要把循環(huán)和函數(shù)放在同一行中。
          • 有時(shí)候你會(huì)發(fā)現(xiàn)你的文件變得非常繁重。看看有沒(méi)有方法隱藏你認(rèn)為對(duì)于以后參考不太重要的代碼。Notebooks 看起來(lái)整潔干凈, 讓人賞心悅目也非常重要。
          • Matplotlib 可以很漂亮整潔地展示你的 Notebook,看看怎么使用它!地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb
          另一個(gè)提示!當(dāng)你想創(chuàng)建演示文稿時(shí),首先想到的工具是 PowerPoint 和 Google Slides。其實(shí)你的 Jupyter Notebooks 也可以創(chuàng)建幻燈片!還記得我說(shuō)它超級(jí)靈活嗎?我一點(diǎn)都沒(méi)有夸大。
          要將你的 Notebooks 轉(zhuǎn)換為幻燈片,請(qǐng)轉(zhuǎn)到  View -> Cell Toolbar,然后單擊 Slideshow???!現(xiàn)在,每個(gè)代碼塊都在右側(cè)顯示一個(gè) Slide Type 的下拉選項(xiàng)。它提供了以下 5 個(gè)選項(xiàng):
          好好試一試每一個(gè)選項(xiàng)以更好地理解它,它會(huì)改變你呈現(xiàn)你的代碼的方式!
          結(jié)語(yǔ)
          請(qǐng)注意,這篇文章并沒(méi)有詳盡列出 Jupyter Notebooks 提供的所有功能。還有更多的功能等著你在使用中挖掘。和其他很多事情一樣,關(guān)鍵在于實(shí)踐。
          最后分享一個(gè) GitHub 庫(kù)(地址:https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks),里面有很多有用的內(nèi)容。
          來(lái)源 | 人工智能頭條 翻譯 | 張建軍

          推薦閱讀

          分享2個(gè)Python處理Excel的腳本


          瀏覽 468
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  桃色一区 | 日韩城人免费 | 亚洲性爱AV | 男操女逼射逼心国产中字传媒视频 | 天天干B|