Upload
chengtao-lin
View
4.756
Download
2
Embed Size (px)
Citation preview
Jupyter 簡介 — 互動式的筆記本系統
嘉義⼤大學⽣生物資源學系 林政道 [email protected]
什麼是 Jupyter?• JuPyteR
• 前⾝身為 ipython ,即⼀一個互動式的計算介⾯面
• 現在可⽀支援多種程式語⾔言核⼼心(Python2, Python3, R, Ruby, etc.)
• ⽀支援 markdown (簡單的排版語法)、mathjax (撰寫數學式排版)
什麼是 Jupyter?
• 結合「程序處理」以及「輸出展⽰示」
• 適合資料處理(資料探索、資料展⽰示、教學探討、分享等)
• ⽀支援平⾏行運算(ipyparallel)
http://jupyter.org
Jupyter notebook interface
Jupyter notebook-server
程序處理
瀏覽器端
程式語⾔言核⼼心(kernel):
內容展⽰示
外部資料 取得
輸出nbconvert
你可能還不是很瞭解 Jupyter 可以做什麼 沒關係,直接來看例⼦子
各式各樣的實例—程式開發、互動式書籍
互動式的書籍以及課程
• 對於需要實際操作的課程,可以透過線上的 notebook viewer 來與使⽤用者互動
• 讓學習除了課堂講授,加上即時的互動
• 例:
• 數學理論+實際計算
• ⽣生態課程的設計:野外調查收集資料、互動式介⾯面輸⼊入資料、套⼊入理論公式、視覺化的呈現(繪圖
http://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter1_Introduction/Chapter1.ipynb
理論解釋
公式、 定理
Python 的 程式碼, 可以直接執⾏行
輸出的圖
資料視覺化展⽰示
圖的展⽰示不再只是平⾯面,⽽而是動態的Python + Bokeh
滑⿏鼠游標移到圖上, 可⽴立即看到地理座標、數據資料等
http://nbviewer.jupyter.org/github/bokeh/bokeh-notebooks/blob/master/gallery/texas.ipynb
⾰革命性的學習法改變
• 對於教學者/學習者來說,教材從靜態變成動態
• adaptive learning/intelligent adaptive learning 適應學習法/智慧式適應學習法
• 即時的互動可⽴立即找出學習盲點
• 彈性:學習的速度可隨不同學習者的能⼒力⾃自⾏行調控
⾰革命性的學習法改變
• 模組化:不同的教學筆記可透過課程設計連結起來,依照教學⺫⽬目標彈性搭配
• 科學探究的過程可完整記錄,不再只是知識講授、背誦,中間過程的討論甚⾄至是錯誤的歷程都可記錄下來
• 開放與分享:因為跨平台的特性,筆記可互相交流。搭配開放資料讓科學教育及研究互相結合
範例:以物種⾯面積曲線為例
• ⽣生態學上的經典理論
• 過去技術的限制,僅能在課堂上講授
• 實際調查後
資料的輸⼊入
使⽤用 R 的 plot 來繪圖
定義物種數量-⾯面積曲線⽅方程式 讓學習者了解如何計算—使⽤用對數
求完對數後,解⼆二元⼀一次⽅方程式 ⽤用簡單直線迴歸來適配常數值
除了⼿手動計算外,練習使⽤用函數(function)來 進⼀一步⾃自動化算出⽅方程式的值
可重複帶進不同棲地的資料,求得不同的⽅方程式
繪圖產出
如何使⽤用?
• 安裝 jupyter notebook server,然後啟⽤用
• 使⽤用雲端服務
• tmpnb.org 免費服務
• sagemath.com 免費服務,可付費升級有較多的運算資源
http://cloud.sagemath.com
http://tmpnb.org