官术网_书友最值得收藏!

1.6 使用Jupyter Notebook

在數據科學和科學計算領域有一個叫作Jupyter Notebook的神奇互動工具。使用它,我們就可以在交互式Web環境中編寫和運行代碼,該環境還具有可視化、可顯示圖像和視頻的功能。它使方程式和原型設計的測試變得更加容易,不僅得到了40多種編程語言的支持,而且完全開源。

GitHub支持Jupyter Notebook(靜態)。一個使用Jupyter Notebook創建的交互式Jupyter Notebook筆記本,可以通過Jupyter Notebook查看器或其他云存儲設備進行共享。Jupyter Notebook被廣泛用于編碼機器學習算法、統計建模、數值模擬以及數據調整中。Jupyter Notebook本身是用Python實現的,但只要有不同編程語言的內核,就可以運行40多種編程語言。通過在終端輸入以下命令檢查計算機中是否安裝了Python:

python --version

如果計算機中已經安裝了Python,那么運行該命令后將會得到如圖1-19所示的結果(此處版本號為2.7)。

圖1-19 查看Python版本

這里推薦使用Python 2.7.x、3.5.x或更高版本。如果計算機中沒有安裝Python,那么運行上面的命令后將不會輸出任何信息。

如果不熟悉Python和數據科學,則強烈建議安裝Anaconda。數據科學常用的軟件包(包括Jupyter Notebook)與Anaconda捆綁在一起,只需要像安裝其他軟件一樣安裝Anaconda,環境就能被輕易地搭建起來。可以通過訪問其官網下載Anaconda,下載頁面如圖1-20所示。

圖1-20 Anaconda下載頁面

對于Linux用戶,可以在終端輸入下面的命令安裝Python:

sudo apt-get install python

Jupyter已經被包含在Anaconda軟件包中,可以通過輸入下面的命令來檢查Jupyter軟件包是否是最新版本:

jupyter –version

運行上面的命令后,結果如圖1-21所示。

圖1-21 查看Jupyter版本

如果Jupyter不存在,則可以通過如下方法安裝。不過,需要注意的是,首先必須安裝了Anaconda。

conda install jupyter

安裝Jupyter的另一種方法是使用pip命令:

pip install jupyter

現在,要一起使用Julia與Jupyter,需要IJulia包,可以使用Julia的包管理器來安裝它,在REPL中輸入如下命令:

01  julia> Pkg.update()
02  julia> Pkg.add("IJulia")

代碼01行的作用是更新元數據和當前包,02行用來安裝所需的IJulia包。在安裝IJulia包后,我們可以通過在Jupyter Notebook中選擇Julia來創建一個新的Notebook。大家可以根據不同的平臺自行安裝Jupyter,這里以macOS平臺為例,界面如圖1-22所示。

單擊“New”下拉按鈕,選擇“Julia 0.7.0”選項,創建一個新的Julia Notebook,可以把它理解為運行在Web上的IDE。Jupyter Notebook的菜單欄和選項如圖1-23所示。

Jupyter Notebook還支持在筆記本上使用MarkDown語法,同時對于GitHub Jupyter Notebook也非常友好。在這里運行Julia代碼甚至比在REPL中運行還要簡單,如圖1-24所示的一個簡單的范例展示了Jupyter Notebook的交互方式。

圖1-22 選擇Julia創建新的Notebook

圖1-23 Jupyter Notebook的菜單欄和選項

圖1-24 Jupyter Notebook交互方式

如圖1-24所示,在Jupter中輸入代碼后,單擊“運行”按鈕即可運行代碼,運行結果會被直接輸出到下面區域中。

在Jupter中使用Julia和在REPL中使用沒有任何區別。但因為有的包不支持在REPL中輸出圖表,所以當涉及可視化或圖形時,Jupyter是一個更好的交互式環境。

下面的代碼生成了一個高級圖表(我們將在后面的章節中學習Gadfly和RDatasets),具體如范例1-2所示。

【范例1-2】使用第三方包創建圖表

01  using Gadfly
02  using RDatasets
03  #創建一個數據幀
04  #我們將在后面的章節中了解數據幀
05  iris = dataset("datasets","iris")
06  #新建一個圖表
07  p = plot(iris,x =:SepalLength,y =:SepalWidth,color =:Species,
08  Geom.point)

本例中,我們使用Gadfly和RDatasets包生成了一個高級圖表。代碼01和02行分別用來引入Gadfly和RDatasets包;05行用來創建一個數據幀,這里使用了RDatasets提供的預設好的數據幀;07行和08行用來新建一個圖表,并把數據幀中的數據填入圖表中。

運行結果如圖1-25所示。

圖1-25 范例1-2的運行結果

主站蜘蛛池模板: 土默特左旗| 通州市| 政和县| 霍邱县| 定日县| 璧山县| 尼勒克县| 清远市| 大同县| 四川省| 阿瓦提县| 明溪县| 林甸县| 衡东县| 左贡县| 中西区| 皋兰县| 大荔县| 宁陕县| 平乡县| 南皮县| 英德市| 屯昌县| 资中县| 会理县| 林周县| 贵南县| 如皋市| 墨竹工卡县| 吕梁市| 望都县| 湟中县| 德庆县| 浦城县| 丹寨县| 南阳市| 天镇县| 嘉祥县| 甘泉县| 丰宁| 祁门县|