Anaconda 與 Jupyter Notebook

Anaconda

為什麼選擇 Anaconda

我們知道 Python 是人工智能的首選語言。為了更好、更方便地使用 Python 來編寫深度學習相關程序,可以使用集成開發環境或集成管理系統,最流行的比如 PyCharm 和 Anaconda。本文我推薦使用 Anaconda。

之所以選擇 Anaconda,是因為 Anaconda 作為 Python 的一個集成管理工具,它把 Python 做相關數據計算與分析所需要的包都集成在了一起,我們只需要安裝 Anaconda 就行了。Anaconda 是一個打包的集合,裡面包含了 120 多個數據科學相關的開源包,在數據可視化、機器學習、深度學習等多方面都有涉及。不僅可以做數據分析,甚至可以用在大數據和人工智能領域。另外,安裝它後就默認安裝了 Python、IPython、Jupyter Notebook 和集成開發環境 Spyder 等等。總之一句話,安裝 Anaconda 讓我們省去了大量下載模塊包的時間,更加方便。

如何安裝 Anaconda

Anaconda 完全支持 Windows、macOS、Linux 三種平臺,版本基於 Python 3.6 或者 Python 2.7,推薦下載 3.6 版本。這裡給出 Anaconda 的下載地址:Anaconda 下載地址。

Anaconda 與 Jupyter Notebook

以 Windows 為例,根據你電腦是 32 位還是 64 位,選擇 Python 3.6,下載相應的 Anaconda。下載完成之後,直接運行 exe 文件,即可完成安裝,整個過程非常簡單。Anaconda 安裝成功之後,包含以下基本模塊:

Anaconda 與 Jupyter Notebook

如何管理 Python 科學包

Anaconda 的方便之處就在於它管理包非常方便。打開 Anaconda 的 Anaconda Prompt 模塊,使用 conda 包管理器命令即可輕鬆實現對 Python 科學包的管理。下面介紹幾個 conda 的基本命令。

Anaconda 與 Jupyter Notebook

顯示已安裝的科學包

在 Anaconda Prompt 中輸入:

conda list

安裝某科學包

在 Anaconda Prompt 中輸入:

conda install package_name

例如,要安裝 pandas,則輸入以下命令:

conda install pandas

更新某科學包

在 Anaconda Prompt 中輸入:

conda update package_name

卸載某科學包

在 Anaconda Prompt 中輸入:

conda uninstall package_name

Jupyter Notebook

Jupyter Notebook是一個交互式筆記本,支持運行 40 多種編程語言。其本質是一個 Web 應用程序,便於創建和共享文學化程序文檔,支持實時代碼、數學方程、可視化和 Markdown。用途包括數據清理和轉換,數值模擬,統計建模,機器學習等等。

Anaconda 與 Jupyter Notebook

在沒有 Jupyter Notebook 之前,我們只能在普通的 Python shell 或者在 IDE(集成開發環境)如 Spyder 中編寫代碼,然後在 Word 中寫文檔來說明你的項目。這個分立的過程很反鎖,通常是寫完代碼,再寫文檔的時候還要重頭回敲一遍代碼。但是 Jupyter Notebook 可以直接在代碼塊之間寫出敘述性文檔包括 LaTex 公式(Markdown 語法),而不需要另外編寫單獨的文檔。也就是說它可以將代碼、文檔等集中到一處,增加可讀性。如今,Jupyter Notebook 已迅速成為數據分析,機器學習的必備工具。因為它可以讓數據分析師集中精力向用戶解釋整個分析過程。

可喜的是, Anaconda 自帶了 Jupyter Notebook,不需要我們額外安裝,這也是我們選擇使用 Anaconda 的重要原因之一。接下來,我們將簡單介紹一些 Jupyter Notebook 的基本使用方法。

打開 Jupyter Notebook

Windows 下直接在 Anaconda 的工具包中就可以直接打開 Jupyter Notebook。如果是 Linux 的話,終端輸入 jupyter notebook 即可。

Anaconda 與 Jupyter Notebook

Jupyter Notebook 的主窗口顯示的路徑一般是 Jupyter Notebook 所處的路徑下(通常在你的用戶目錄下)。主界面如下所示:

Anaconda 與 Jupyter Notebook

若要創建一個新的 Notebook,只需鼠標左擊 New,在下拉選項中選擇一個你想啟動的 Notebook 類型即可,例如 Python 3。

Anaconda 與 Jupyter Notebook

新建之後,打開新的標籤,得到了一個空的 Notebook 界面。

Anaconda 與 Jupyter Notebook

Notebook 界面由以下幾個部分組成:

  • notebook 名字;
  • 主工具欄,包括保存、導出、重載、重啟內核等;
  • 快捷鍵;
  • Notebook 主要部分,Notebook 編輯區。

你可以將新建的 Notebook 重命名,點擊 File -> Rename,然後輸入新的名稱即可。

Notebook 編輯區由一個個單元(Cell)組成,每個 Cell 可以實現不同的功能。例如,第一個 cell 如下圖所示,以 In[ ] 開頭表示這是一個代碼單元。在代碼單元裡,你可以輸入任何代碼並執行。例如,鍵盤輸入 1+1,然後按 “Shift+Enter”,代碼將被運行,並顯示結果,由 out[] 為標誌。同時,切換到下一個的 cell 中。

Anaconda 與 Jupyter Notebook

如果代碼沒有返回值,例如 print 函數打印,則沒有 out[] 輸出。

Anaconda 與 Jupyter Notebook

Notebook 一個非常重要的特性是可以返回之前的 Cell,修改並重新運行,以此來更新整個文檔。例如,現在我們回到第一個 Cell 中,將輸入 1+1 改成 1+2,重新按 “Shift+Enter” 運行該單元,結果被立即更新成 3。當你想使用不同參數調試方程又不想運行整個腳本的時候,這條特性非常有用。然而,你也可以通過菜單欄 Cell -> Run all 來重新運行整個 Notebook。

cell 一般默認為代碼單元,如果我們想新建一個 Markdown 單元,可以選擇 Code -> Markdown 進行切換,或直接使用快捷鍵 M,切換為 Markdown 單元。

Anaconda 與 Jupyter Notebook

Markdown 單元完全遵循 Markdown 語法,我們可以建立標題或者代碼文檔說明,這樣就能讓解釋文本豐富起來了。

Anaconda 與 Jupyter Notebook

讓我們再深入地探討下 Markdown 單元類型,它同時也支持 HTML 代碼。你可以在你的 Cell 中創建更高級的樣式,比如添加圖片等等。舉個例子來說,如果你想在 Notebook 中添加 Jupyter 的圖標,尺寸為 100x100,並且放置在 Cell 左側,可以這樣編寫:

style="width:100px;height:100px;float:left">

運行該單元,效果如下:

Anaconda 與 Jupyter Notebook

你還可以直接調用本地圖片,須保證圖片所在路徑的準確性。例如:

![](img/../14.png)

運行該單元,同樣得到 Jupyter 的圖標:

Anaconda 與 Jupyter Notebook

除此之外,Notebook 的 Markdown 還支持 LaTex 語法。你可以在 Markdown 單元中按照 LaTex 語法規則寫方程式,然後直接運行,就可以看到結果。例如運行下面方程式:

`$$\frac{\

partial J}{\partial w}=1$$`

運行結果如下:

Anaconda 與 Jupyter Notebook

導出功能

Notebook 另一個強大的功能就是導出功能,如以下多種形式:

  • HTML
  • Markdown
  • ReST
  • PDF(Through LaTex)
  • Raw Python

如果導出成 PDF 格式,你甚至可以不使用 LaTex 就創建了一個漂亮的文檔。或者,你可以將你的 Notebook 保存為 HTML 格式,發佈到個人網站上。你還可以導出成 ReST 格式,作為軟件庫的文檔。

導出方式很簡單,選擇 File -> Download as -> …… 即可,如下所示:

Anaconda 與 Jupyter Notebook

值得一提的是,直接轉換為 PDF 格式經常會出現下列錯誤:

Anaconda 與 Jupyter Notebook

該錯誤提示沒有安裝 xelatex。所以,我們需要提前安裝 xelatex,方法是安裝 TexLive 套裝。

Windows 下, 從官網下載安裝程序 :install-tl-windows.exe,直接選擇 full 方式安裝。如果機器上已經安裝了 MiKTex,則先卸載,否則 TexLive 安裝後功能不可用。

Ubuntu 下,直接輸入以下命令:

sudo apt-get install texlive-full

Matplotlib 集成

Matplotlib 是用來畫圖的 Python 庫,與 Jupyter Notebook 結合使用時,效果更好。為了在 Jupyter notebook 中使用 Matplotlib,你需要告訴 Jupyter 獲取所有 Matplotlib 生成的圖形,並把它們全部嵌入到 Notebook 中。為此,只需輸入以下命令:

%matplotlib inline

這條語句執行可能耗費幾秒鐘,但是隻需要你打開 Notebook 時執行一次就好。讓我們作個圖,看看是怎麼集成的:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(10, 0.1)

y = x**2

plt.plot(x, y)

plt.show()

這段簡單代碼將繪出 y

=

x

2

y=x2

對應的二次曲線。運行這個 Cell,結果如下所示:

Anaconda 與 Jupyter Notebook

很明顯,圖直接嵌入到 Notebook 中,位於代碼下面。修改代碼,重新運行,圖形將自動同步更新。這是一個很好的特性,這樣可以清楚知道每段代碼究竟幹了什麼。

總結

本文主要介紹了 Anaconda 和 Jupyter Notebook。Anaconda 作為 Python 的一個集成管理工具,它把 Python 相關數據計算與分析科學包都集成在了一起,省去了各個安裝的麻煩,非常方便。而且,Anaconda 自帶了 Jupyter Notebook,Jupyter Notebook 是一個非常強大的工具,允許使用者為數據分析、教育、文件等任何你可以想到的內容創建漂亮的交互式文檔,已迅速成為數據分析、機器學習、深度學習的必備工具。本達人課的實戰代碼都將在 Jupyter Notebook 上實現。


分享到:


相關文章: