jupyter notebookを活用した プログラムライブラ …...jupyter (notebook) ipython...
TRANSCRIPT
Jupyter Notebookを活用したプログラムライブラリ構築の検討○ 吹谷 芳博1 ,藤澤 正樹1
(1あすか製薬株式会社)
Examination of the program library
construction using Jupyter Notebook
ASKA Pharmaceutical Co., Ltd.
要旨:
PC SASでのJupyter Notebookの実装可能性について検討を報告する.またJupyter Notebookの利便性を活かしてSASマクロ等のナレッジ管理ツールとしての使用事例を報告し,その他の拡張ツールを導入による利便性向上を図った内容も報告予定である.
キーワード:
Jupyter Notebook,Python,markdown,文芸的プログラミング
2
3
本論
2. 方法
3. 実装結果
4. 事例検討
結論
序論
5. 結論
1. 序に代えて
Jupyterの導入方法等
Jupyterの実装評価
ナレッジ管理と拡張事例
結果と考察
目的とJupyter周辺情報
本発表のプログラム内容
4
標準化のルールや共通ルールに基づく枠組みを構築しても運用等で徒労に終わる.
プログラム開発とその周辺作業の効率化は,惜しみない努力と時間が費やされている.
効率のよく標準化する枠組みを検討.
動機と目的
5
Jupyter NotebookがSASで使用可能(2016/4)
文芸的プログラミングを用いて方法吹谷(2016)Rパッケージ(knitr)との組合せ.
これまでの経緯
PC SAS下の実装 Rパッケージと比較
ナレッジ管理 拡張事例
本発表では以下の内容を報告する.
R
6
Rパッケージを用いた文芸的プログラミング
文芸的プログラミングとは?
Knitr Word
HTML
---
Title: test
---
# test script
```{r}
proc print
data=sashelp.cars;
run;
```
.Rmd
・文書,プログラムソースおよびプログラムの実行結果を一括生成できる手法.
・1ファイルで管理できる.
7
Jupyter Notebookについて(全体)
Jupyter (Notebook)
IPython (Notebook)
・高い拡張性から他分野でも利用されるようになった.
・それと伴ってJupyter Notebookと連携できる言語が多くなった.
・Pythonを対話実行するツール・科学技術計算の分野でよく使われるようになり拡張性の高いツールとなった.
8
Jupyter Notebookについて(SAS)
SASPyの登場で,PC SASでも使用可能となる.
UNIX SASとSAS University EditionでJupyter
Notebookの使用が可能となる.(2016/4)
PC SAS下での実装と拡張性についても検討した.
9
本論
2. 方法
3. 実装結果
4. 事例検討
結論
序論
5. 結論
1. 序に代えて
Jupyterの導入方法等
Jupyterの実装評価
ナレッジ管理と拡張事例
結果と考察
目的とJupyter周辺情報
本発表のプログラム内容
10
Python
JupyterSASSAS_Kernel
SASPy
“pip”によるインストールSAS_Kernl
SASPy
Python 3系
JupyterAnacondaのインストール
Jupyterの動作イメージと環境設定
環境設定のステップ
動作イメージ
11
Jupyter Notebook環境設定の注意点
1. sascfg.pyの書き換え(config)
2. sascfg.pyの書き換え(SASのインストール先)
12
title "Test"; proc print data=SASHELP.CARS(OBS=5); run;
動作確認結果
13
本論
2. 方法
3. 実装結果
4. 事例検討
結論
序論
5. 結論
1. 序に代えて
Jupyterの導入方法等
Jupyterの実装評価
ナレッジ管理と拡張事例
結果と考察
目的とJupyter周辺情報
本発表のプログラム内容
14
実装結果と評価(デモ)
ログの表示
テーブルの表示
Markdown形式の文書
ヒートマップ図
15
評価結果
グラフ:画像 問題なく出力.
グラフ:タイトル 文字化け(日本語のみ).
テーブル 文字化け(日本語のみ).数値データ等は問題なく出力
ログの出力 文字化け(日本語のみ).英語は問題なし.
処理速度 PC SASのeditor上の実行よりも遅い.
実装結果と評価(まとめ)
日本語表示以外は問題なく動作可能.
16
Rパッケージとの比較結果
Jupyter
Notebook
R(knitr)
操作方法 〇 △文章構成の柔軟性 〇 △出力形式:html ◎ ◎出力形式:word △ 〇出力形式:pdf*1 △ △Unix SASやSAS University Edition
での利用〇 ×
拡張性 ◎ 〇
Word出力以外はJupyterが使いやすい.
17
本論
2. 方法
3. 実装結果
4. 事例検討
結論
序論
5. 結論
1. 序に代えて
Jupyterの導入方法等
Jupyterの実装評価
ナレッジ管理と拡張事例
結果と考察
目的とJupyter周辺情報
本発表のプログラム内容
18
ナレッジ管理の文書構成
5. 留意点
タイトル
1. 要約
2. データの説明と前処理
3. 方法の説明
4. プログラムと結果
19
ナレッジ管理の事例(デモ)
ポイント・業務内容に沿った形のステップを意識して作成
・前処理で利用したプログラムについてもリンクを辿って理解できるようしている.
20
拡張事例の説明(導入)
Sphinxとは?
nbsphinxとは?
・Python製のドキュメント生成ツール.・軽量マークアップ形式の.rstファイルからさまざまなドキュメント形式に変換可能.
・大規模なドキュメント作成に向いている.
・Sphinxの拡張ツールで,.ipynbファイルを取り込んでドキュメント生成が可能.
nbsphinxを使った拡張を行った.
21
拡張事例の説明(デモ)
検索機能としおりの表示ができた.
22
本論
2. 方法
3. 実装結果
4. 事例検討
結論
序論
5. 結論
1. 序に代えて
Jupyterの導入方法等
Jupyterの実装評価
ナレッジ管理と拡張事例
結果と考察
目的とJupyter周辺情報
本発表のプログラム内容
23
・.ipynbファイルは拡張しやすい構造のため,工夫次第ではより効率よくプログラム管理なども可能に.
・PC SAS下でも実装可能である.・注意点は日本語の文字化けに注意しながら使用する.・拡張ツールでプログラム情報の運用管理を容易に.
今後の課題・SASPyの機能を使うことでデータの可視化やPythonのパッケージ(TensorFlow等)の連携の可能性について検討.
結果と考察
Jupyter Notebookの活用方法について検討.
SASユーザーの間でもJupyter Notebookが活用されることを期待される.
24
本発表のまとめ
PC SAS下の実装 Rパッケージと比較
ナレッジ管理 拡張事例
本発表では以下の内容を報告した.
25
[1]:“Jupyter.” Jul 6, 2017. Available at <http://jupyter.org>.[2]:“sas_kernel.” May 10, 2017. Available at
<https://github.com/sassoftware/sas_kernel>.
[3]:“SASPy.” Jul 6, 2017. Available at <https://github.com/sassoftware/saspy>.
[4]: Knuth, Donald E. (1984). "Literate Programming". The
Computer Journal. British Computer Society. 27 (2): 97–111.[5]:浜田知久馬(2017).新版 実用SAS生物統計ハンドブック.
サイエンティスト社,382–387.
[6]:吹谷芳博(2016).SASにおける文芸的プログラミングへの試み.SASユーザー総会2016.
[7]: “Human Resources Analytics/Why are our best and most experienced
employees leaving prematurely?”. Available at
<https://www.kaggle.com/ludobenistant/hr-analytics>.
参考文献