2018 年 2 月

第 33 卷,第 2 期

本文章是由機器翻譯。

人工智慧 - 使用 Jupyter Notebook

Frank La La |2018 年 2 月

Frank La VigneJupyter 筆記本是開放原始碼,瀏覽器型工具,可讓使用者建立及共用包含即時程式碼,視覺效果和文字的文件。Jupyter 筆記本不是應用程式開發環境,本身。相反地,它們提供互動式"便條簿 」,可以瀏覽並實驗資料。它們提供各種不同的程式設計語言,例如 Python 或 R、 瀏覽器為基礎、 互動式殼層,並讓資料科學家和工程師快速試驗資料,藉由提供的平台共用程式碼,觀察和視覺效果的方式。筆記本可以在本機執行或在雲端中的電腦上透過各種服務,並會瀏覽資料集,並針對新的程式設計語言的操作有初步的好方法。對於習慣使用較傳統的 IDE 開發人員,不過,它們可能會令人困擾一開始。

Jupyter 筆記本的結構

Jupyter 筆記本的 「 資料格 」 線性順序中排列一系列所組成。每個資料格可以是文字或程式碼。中的 MarkDown,以純文字格式設定語法的輕量級的標記語言的格式化文字的資料格。程式碼的資料格包含在特定筆記本與相關聯的語言中的程式碼。Python 筆記本只有 Python 程式碼和不 R 期間,無法執行 R 筆記本可以執行 R 和不 Python。

圖 1可用 IntroToJupyterPython 筆記本顯示為範例檔案 Data Science 虛擬機器上。請注意顯示筆記本會附加至 Python 2 執行階段瀏覽器] 視窗右上角筆記本的語言指標。向 「 Python 2 」 的圓圈會指示核心的目前狀態。填滿的圓形表示核心使用中,執行程式。空心圓圈會指示核心處於閒置狀態。也請注意,筆記本的主體包含文字,以及程式碼和圖形的繪圖。

教學課程筆記本簡介 Jupyter 筆記本的核心功能
圖 1 教學課程筆記本簡介 Jupyter 筆記本的核心功能

在 Azure 筆記本中建立 Jupyter 筆記本

有數個選項來執行 Jupyter 筆記本。不過,若要開始使用最快速的方式是使用 Azure 筆記本服務,會在預覽模式中,在撰寫本文時。若要透過瀏覽notebooks.azure.com並以您的 Microsoft ID 認證登入。如果出現提示,請授與應用程式要求的權限。為使用者第一次,網站會提示您輸入公用的使用者識別碼。這會建立以裝載您的設定檔並共用筆記本的 URL。如果您不想設定此項目在這個階段,按一下 「 否,謝謝。 」 否則,請輸入值,並按一下 [儲存]。

畫面現在會顯示您的設定檔頁面。Azure 筆記本服務儲存 Jupyter 筆記本文件庫中。第一次才能建立筆記本,您必須建立文件庫。在程式庫,沒有按鈕新增文件庫。按一下以建立新的程式庫。在對話方塊中所示,輸入程式庫和識別碼的 URL 來共用它的名稱。如果您想要將此程式庫設為公用,核取方塊旁 」 公用程式庫 」。 檢查選取或取消選取 「 建立 README.md 」 旁的方塊會自動插入文件進行 README.md 檔案。按一下 [建立] 建立新的程式庫。

現在,您設定檔頁面將會有一個列出的程式庫。按一下以啟動 [程式庫內容。目前,唯一的項目是 README.md 檔案。按一下 [新增] 按鈕以加入新項目。這可確保在對話方塊中,輸入新的項目名稱並從下拉式清單項目類型旁的清單中選擇 [Python 3.6 筆記本,然後按一下 [新增。

一旦建立項目時,它會出現與程式庫中。IPYNB 檔案的副檔名。按一下以啟動 Azure 中的 Jupyter server 的執行個體。請注意新的瀏覽器索引標籤或視窗會開啟,而且介面看起來更像是在螢幕圖 1。按一下文字方塊內,並寫入下列程式碼:

print("Hello World!")

在頁面頂端資料格功能表選擇 [執行中的資料格。畫面應該看起來像圖 2

Hello World !Jupyter 筆記本中
圖 2 Hello World !Jupyter 筆記本中

按一下空白儲存格內加入該 Jupyter,然後選擇 [儲存格 > 資料格類型 > 從功能表列的 Markdown。然後加入下列文字。

# This is markdown text #
Markdown is a versatile and lightweight markup language.

按一下儲存圖示,然後關閉瀏覽器索引標籤。在 [程式庫] 視窗中,按一下筆記本檔案一次。將重新載入頁面且 markdown 格式將會生效。

接下來,加入另一個程式碼的資料格,在 markdown 資料格中按一下,然後從 [插入] 功能表選擇下方插入儲存格。先前,我陳述只有 Python 程式碼,無法執行 Python 筆記本中。不完全為 true,因為您可以使用"!"命令問題殼層命令。這個新的儲存格中,輸入下列命令。

! ls -l

從 [執行] 功能表中選擇執行資料格,或按一下有矔菛/縸懫符號上的圖示。此命令傳回目錄,其中包含筆記本檔案及 README.md 檔案的內容的清單。同樣地,Jupyter 會回應之後,加入空白資料格。下列程式碼輸入空白資料格:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
plt.show()

執行資料格,並隨後散佈圖會顯示在結果中。對於熟悉 Python,第一行程式碼看起來可能不太熟悉,因為它是 IPython 核心 Jupyter 筆記本中執行 Python 程式碼的一部分。命令 %matplotlib 內嵌指示 IPython 執行階段顯示 matplotlib 內嵌結果所產生的圖表。這種類型的命令,又稱為"magic"命令,從"%"開始。Magic 命令的完整探索需要它自己的發行項。如需 magic 命令的詳細資訊,請參閱 IPython 文件,網址bit.ly/2CfiMvh

對於不熟悉使用 Python,先前的程式碼片段匯入兩個程式庫,NumPy 與 Matplotlib。NumPy Python 封裝用於科學運算 (numpy.org),而 Matplotlib 熱門 2D 圖形 for Python (matplotlib.org) 繪製文件庫。然後,程式碼會產生兩個 100 的隨機數字陣列,並將結果繪製成散佈圖。最後一行程式碼會顯示圖表。當隨機產生的數字時,圖形會變更稍微每次執行的資料格時。

筆記本 ML 工作臺中

目前為止,我已示範執行 Jupyter 網路做為 Azure 筆記本中的服務雲端的一部分。不過,在本機,也可以執行 Jupyter 筆記本。事實上,Jupyter 筆記本已整合至 Azure 機器學習 Workbench 產品。在先前的文章中,我示範範例光圈分類專案。發行項未提到它,而沒有筆記本,包含與建立模型,以及 3D 繪圖的光圈資料集所需的所有步驟的詳細資料的專案。

若要檢視它,開啟光圈分類器範例專案從上個月的資料行中,「 建立模型在 Azure ML 工作臺 」 (msdn.com/magazine/mt814992)。如果您未建立專案,請遵循要從範本建立專案的發行項中的指示。專案內所示圖 3、 第三個圖示 (1) 從頂端上視窗的左邊的垂直工具列上按一下,然後按一下光圈 (2) 在檔案清單。

筆記本檢視 Azure 機器學習 Workbench 專案中
圖 3 筆記本檢視 Azure 機器學習 Workbench 專案中

筆記本檔案載入,但未執行筆記本伺服器 — 顯示的結果會快取先前執行。若要讓筆記本互動式,按一下 [啟動筆記本伺服器 (3) 按鈕,以啟用本機筆記本伺服器。

向下捲動至緊接 3D 圖表的空白資料格,並輸入下列程式碼,以檢視光圈資料集內的前五筆記錄:

iris.head(5)

從 [插入] 功能表中選擇下方插入儲存格,然後空白資料格中顯示的相關矩陣中輸入下列程式碼:

iris.corr()

輸出應該看起來圖 4

光圈資料集的相關矩陣
圖 4 光圈資料集的相關矩陣

相互關聯矩陣會顯示不同欄位的資料集之間的交互關聯係數。交互關聯係數測量值接近 1,表示正面的相互關聯和為-1 表示負相關值更接近使用兩個變數之間的線性相依性。較接近設為 0 的值表示缺乏兩個欄位之間的相互關聯。比方說,是 0.962757 的強式之間的相互關聯瓣花瓣寬度和瓣花瓣長度值。相反地,Sepal 寬度 Sepal 長度之間的相互關聯是值為-0.109369 太弱。當然,每個欄位都有與其本身 1.0 相互關聯。

Anacondas

到目前為止,我只用過 Jupyter 筆記本的 Microsoft 雲端服務或本機使用 Microsoft 軟體的一部分。不過,Jupyter 是開放原始碼,而且可以執行獨立的 Microsoft 生態系統。一個常用的工具組是 Anaconda (anaconda.com/download)、 Python 和 R 適用於 Windows、 Mac 和 Linux 的開放原始碼散發。Jupyter 隨附於此安裝。在本機執行 Jupyter 初始化 8888 連接埠上的本機 Web 伺服器。請注意,我的系統上可以只建立 Python 3 筆記本,也就是只有我的電腦已安裝的核心。

資料科學虛擬機器

理想情況下,可靠或不保證存取網際網路不是在本機執行 Jupyter 筆記本伺服器。如需更多運算密集工作,可能直接到虛擬機器上建立和執行 Jupyter 更強大的硬體。若要簡化這項工作中,Azure 會提供 Data Science 虛擬機器映像,Windows 和 Linux,已安裝的常見資料科學工具。

從這個映像建立 VM 是既快速又簡單。Azure 入口網站中,按一下 [新增] 圖示,並在搜尋 Data Science 虛擬機器的 「 有幾個選項。不過,我發現 Ubuntu 映像,是最功能封裝。選擇 Data Science 虛擬機器,Linux (Ubuntu) 映像,然後依照精靈中的步驟,建立虛擬機器。電腦已啟動並執行,一旦設定遠端桌面存取 VM。請參閱如何連接到在 Linux VM 上的文件bit.ly/2qgHOZo

當連接到電腦,按兩下桌面上的 Jupyter 圖示。終端機視窗會開啟,後面接著瀏覽器視窗稍後時間。時按一下 [新增] 按鈕來建立新的筆記本,您可以更多選擇極多的環境和語言,如所示圖 5

執行階段供 Ubuntu 的 Data Science 虛擬機器
圖 5 執行階段供 Ubuntu 的 Data Science 虛擬機器

各種執行階段環境,以及 Ubuntu 的 Data Science 虛擬機器包含許多範例筆記型電腦。這些筆記本從基本的 Azure ML CNTK 和 TensorFlow 等進階主題的所有項目提供指引。

總結

Jupyter 筆記本的資料科學工作,但他們傾向於混淆許多開發人員,因為平台缺少開發軟體所需的基本功能。這是產品本身的設計。Jupyter 筆記本不適用於這項工作。

筆記型電腦的用途是提供共同作業的機制,資料科學家可以探索資料集、 試驗不同假設,藉以及與同事共用的觀察值。Jupyter 筆記本可以本機電腦、 Mac 或 Linux 上執行。Azure ML Workbench 甚至還包含了內嵌在產品的資料更容易實驗筆記本伺服器。筆記本也可以執行中雲端服務,例如 Azure 筆記型電腦,或與其他支援的硬體,在 VM 上的一部分。


Frank La VigneDataDriven 播客會導致資料和分析練習 Wintellect 和共同的主機。他的部落格定期 FranksWorld.com,而且您可以在他的 YouTube 頻道,"Frank 的世界電視 」 上監看他 (FranksWorld.TV)。

這點受惠檢閱本文章下列技術專家:Andy Leonard


MSDN Magazine 論壇中的這篇文章的討論