標籤:

0基礎包教會 | 數據分析環境搭建:jupyter配置python & r kernel

前言

作為一個沒有妹子的單身狗,業餘時間寂寞難耐,於是便走上了折騰各種工具的不歸路。作為拍腦袋的結果,數據分析是我認為最為適宜的方向。本專欄當前主要計劃分享一些我在數據分析相關的工具上踩過的坑,希望能對諸位讀者有所助益。由於學識和眼界有限,不免會有疏漏不妥之處,歡迎各位讀者批評指正。

第一篇為當前(我親自認證(/▽\))最為便利的數據分析環境 Jupyter Notebook 的環境搭建指南,面向0基礎群眾。

目錄(*部分選讀,不影響主要內容)

  1. 簡介
  2. 準備軟體包及安裝
  3. 配置
  4. 包管理
  5. 進一步了解*
  6. 美化*
  7. 最終成果

簡介

為什麼選擇Jupyter

The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more.

官網上的介紹非常清晰,就我個人而言,我選擇她的原因有:

1. python & r ... 全功能

2 . 互動式的編輯界面

3. 好看

4. 好看

5. 好看

* 但是...

Q: 我知道Jupyter很好,但是Anaconda IPython IRkernel etc. 都是些什麼?我需要仔細了解他們嗎?

A: 簡單版:不用

好奇寶寶版:參見進一步了解

準備軟體包及安裝

1. 下載Anaconda(推薦Python 3.6 64bit版)

2. 下載R(根據系統選擇相應版本)

3. 安裝Anaconda,推薦默認配置安裝

安裝完成後,找到Jupyter Notebook,啟動之

出現這個界面表明運行成功

4. 安裝R,注意這裡的路徑

完成後,找到上述路徑下的in
.exe,運行

到這裡,安裝就全部完成了。

配置

1. jupyter配置啟動文件

在安裝完成後,我們會發現jupyter默認讀取的文件夾並不是我們所希望的,所以第一步的配置就是自定義讀取的文件夾。

首先找到jupyter notebook的快捷方式,複製一份命名為jn,右鍵找到屬性

在標黃的「目標」最後面追加你想要的路徑,不帶引號,應用即可。注意下面一欄可以修改,也可以留空,實測沒有什麼影響。

2. 安裝R kernel

Jupyter可以支持很多種語言,藉助的就是所謂內核(Kernel)的概念,簡單理解就是只要安裝了某語言的內核,就可以在jn中使用這種語言(想想都有些小激動),具體的支持列表在這裡。

具體到R,步驟如下:

打開anaconda prompt

是這個樣子的

在這個界面里,利用命令行,找到前文提到的r.exe。輸入命令

cd /d D:R-languageinr

cd 是切換路徑(change directory),/d 選項切換盤符,在同一盤符下可以省略,之後就是具體的目標路徑;後面為啟動r解釋器。

在這裡輸入

install.packages(c(repr, IRdisplay, evaluate, crayon, pbdZMQ, devtools, uuid, digest))devtools::install_github(IRkernel/IRkernel)

安裝R Kernel (正式的名稱是IRKernel)所需要的文件

之後輸入

IRkernel::installspec()

使得IRKernel在jupyter中生效

完美!

3. 自定義更多配置*

經過幾次使用,發現好像有一些問題,比如每次把打開的瀏覽器關掉,再打開會要求密碼;或者說我並不希望每次都自動彈出瀏覽器。在這些情況下我們可以利用配置文件作自己想要的配置。

打開anaconda prompt,輸入下面的代碼

jupyter notebook --generate-config

讓jupyter生成配置文件jupyter_notebook_config.py,執行完後找到這個配置文件的位置,新建一個同名的jupyter_notebook_config..json文件,基本格式為

{ "NotebookApp": { }}

在NotebookApp增加你的配置文件,比如我的是

具體可以自定義的項就在這個.py文件里,讀者可以參考這裡或者是自己發掘。

包管理

Anaconda本身已經包含了許多應用於python的科學計算庫,通常直接上手使用即可。如果恰好用到尚未安裝的包,可以直接在anaconda prompt中進行管理,使用

conda install package

即可安裝,例如安裝scipy

conda install scipy

更多用法,可參閱這裡。對於在conda中沒有的包,仍可以使用pip進行安裝。

對於R包,並不能在Jupyter的界面中執行安裝命令,因此仍然需要在R解釋器中利用install.package()進行安裝,與一般方式無異。

進一步了解*

IPython

IPython provides a rich architecture for interactive computing with:

* A powerful interactive shell.

* A kernel for Jupyter.

* Support for interactive data visualization and use of GUI toolkits.

* Flexible, embeddable interpreters to load into your own projects.

* Easy to use, high performance tools for parallel computing.

簡而言之,IPython提供了一個互動式的python界面,方便進行科學計算。

IPython 與 Jupyter

這兩者中最先出現的是IPython,隨著IPython的發展,其中逐漸增添了一些不僅僅局限於Python語言的組件,例如Notebook etc.這些組件可以應用到各種語言(例如R)中,因此在IPython 4.0版本,這些組件獨立出來形成了一個新的項目,即Jupyter,IPython則專註於互動式的Python界面,以及作為Jupyter的一個內核。

了解更多,可參考IPython主頁和這裡。

Anaconda 與 Conda

conda 是一個包、依賴和環境管理器,適用於多種語言,其扮演的角色和類似pip於python,npm於javascript,但功能更為強大和全面。詳細了解可參閱這裡。

Anaconda則是以Conda作為包管理器,包含了諸多常用python科學計算庫的Python發行版,詳細了解可參閱這裡。

美化*

細心的讀者會發現,每次在啟動Jupyter Notebook的時候,總是會彈出命令行的界面,這實際上這是啟動了一個本地的 Web server,Jupyter就運行在這個Web server上,瀏覽器通過訪問這個本地的 web server (localhost:8888)就會以網頁形式顯示出Jupyter的界面,這意味著我們可以利用.css任意自定義Jupyter的界面。

了解網頁開發的同學現在就可以動手了(~ ̄▽ ̄)~

當然這裡不可能讓讀者再去學網頁開發,現在要介紹一款別人做好的包jupyter-themes,這個包極大地便利了界面的配置工作。

在anaconda prompt中使用pip進行安裝

pip install jupyterthemes

一些基本命令如下(節選,譯自項目Github頁面)

# 列出現有主題# onedork | grade3 | oceans16 | chesterish | monokai | solarizedl | solarizeddjt -l# 選擇主題jt -t chesterish# 重置為默認主題# 注意: 運行命令後需清理瀏覽器緩存# 若沒有生效,嘗試重新啟動一個Notebook會話jt -r# 將代碼字體設置為 Roboto Mono 12pt# (參閱原頁面中的字體表)# 譯者註:主題和字體要同時設定jt -t onedork -f roboto -fs 12

最終成果

至此全部安裝及配置就完成了

推薦閱讀:

第一關——數據分析社群之實踐計劃
R語言第三、四章學習心得
選全明星哪家強,機器學習來幫忙
再戰『沃+』,百萬孵化獎金等你來拿!
從自律中找到快樂,用數據分析實現自由

TAG:數據分析 |