pandas, binder, geonotebook, ipysigma作者の発表

この投稿は
[JupyterCon 振り返り勉強会](https://soleildatadojo.connpass.com/event/71085/)のためのものです。


# 紹介する発表

- [Data science without borders - Wes McKinney (Two Sigma Investments)](https://www.youtube.com/watch?v=wdmf1msbtVs)
- [Making science happen faster - Jeremy Freeman (Chan Zuckerberg Initiative)](https://www.youtube.com/watch?v=u2kqjBoUOmQ)
- [GeoNotebook: An extension to the Jupyter Notebook for exploratory geospatial.. - Chris Kotfila](https://www.youtube.com/watch?v=s82yE1gOuks)
- [Beautiful networks and network analytics made simpler with Jupyter - Daina Bouquin, John DeBlase](https://www.youtube.com/watch?v=C5wUIhNLxLo)

Jeremy以外はslideのpdfは[ここ](https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/proceedings)にあります。
またWesとJeremyはゲストスピーカーだったようでカンファレンスの発表以外にもインタビューの動画がYouTubeにあります。

---

# [Data science without borders - Wes McKinney (Two Sigma Investments)](https://www.youtube.com/watch?v=wdmf1msbtVs)

- [pandas](http://pandas.pydata.org) の作者
- プログラミング言語間のデータ交換の無駄，重複を無くそうとしている
- またハイパフォーマンスにもしようとしている
- 今回取り上げたスピーカーの中では最も一般知名度は高いと思われるが, jupyterの活用には最も関係していない発表かも
- ここでのbordersには色々なもののborderが含まれると思うが最も具体的にはプログラミング言語間のborderを指している

---

# Wesの発表の前半
## 自己紹介，前フリのような内容

- 2007年から2017年のデータサイエンス環境の変化について
  - (今の人は当然あるものとしてPyData toolsを使っているが, この時期にWesが頑張ってくれた成果が今のPythonを用いたデータサイエンス全盛期の礎となっている)
- closed source > open source
  - matlab > R, Python
- pandas, Jupyter の普及
  - Jupyterはデータサイエンスの共通フロントエンドとなったがその一方でフロントエンド以外は?...

---

# Wesのvideoの中頃
## データサイエンスにおける問題の提起
- フロントエンドにはJupyterがありその下にPython, Rなどがあるわけだが...
- Python, R, JVM, Julia等の言語は"Silo(他部門と連携を取らないもの)"になっている
  - Siloの中にはnumpy, pandas, scikit-learn などがある
- 同じ機能を各言語で様々に実装している > 無駄
- "SHARED DATA SCIENCE RUNTIME"のようなものがあれば同じ実装を異言語で繰り返さなくて済む

---

# Wesのvideoの後半
## "SHARED DATA SCIENCE RUNTIME"のアイデアからアクションへ

具体的に何を実現するのか

1. ポータブルなデータフレームの創出
2. ZERO COPY な(データ)交換の実現
3. ハイパフォーマンス

Apache Arrow の開発

---

# [Making science happen faster - Jeremy Freeman (Chan Zuckerberg Initiative)](https://www.youtube.com/watch?v=u2kqjBoUOmQ)

- [binder](http://mybinder.org) の作者
- 神経科学者
- janelia research campus から CHAN ZUCKERBERG INITIATIVE(CZI) へ
  - 今はresearcherとしてより，CZI での研究の推進を行うためのmanagerの役割が主となっている模様
- その「研究の推進」がどのようなものかをJupyter活用も混ぜて行うといったことがこの発表の主旨かと

---

# CHAN ZUCKERBERG INITIATIVE と Jeremy Freeman

- 巨額投資によってサポートされる科学者, エンジニアの一人
- イニシアチブの科学部門の目的「**今世紀内に**すべての疾病を予防、治療、管理できるようにすること」
- 研究のスピードを上げるには?
- オープンソースソフトウェアによる研究効率化
- 以降Jeremy Freeman が研究効率化のために取り組んでいることをトピック毎に紹介

---

# トピック1「enabling analysis」

- いわゆる「部門間の連携が無い，これがすべて有機的に結合すれば...」に似たこと
  - 生物学の実験，データは複雑
- 生命システムを理解するためには異種の技術をうまくまとめあげる必要がある
  - グルー言語であるPythonとJupyter Notebookを始めとするオープンソースソフトウェアは生物学者にも活用されている
- しかしまだまだ生物学者が大きな負担なく快適に分析できるような環境が整っているとは言い難い
  - 計測, 解析, HPC資源, ... すべてを統合するのは大きな負担
  - 例) 実験 <-> 画像分析Javaソフト <-> Python機械学習 <-> Sparkクラスタ
- 一般人, CZIのソフトウェアエンジニア，計算科学者，生物学者をつなぐようなシステムをJeremyらは求め(CZIで活動を行っ)ている
  - Jupyterはそのようなシステムに役立つかもしれない

---

# トピック2「building collaboration」

- [HUMAN CELL ATLAS](https://www.humancellatlas.org)
  - 人の異組織，臓器の一細胞レベルでの遺伝子発現情報を集め，分析することを「GLOBAL STRATEGIC BLUEPRINT」としている
  - ここにCZIも噛んでいる
- その[open-source data coordination platform](https://www.humancellatlas.org/data-sharing)
  - このデータをJupyterを使って解析できるようにしている模様

---

# トピック3「sharing knowledge」

- ここでbinderが絡んでくる
- 研究成果(論文)の共有方法は「pretty old-fashioned way」
  - 再現性「reproducibility」
- そこでJupyter Notebookを使う
  - ただデータとnotebookは共有されても, 計算環境環境が要る > そこで[binder](beta.mybinder.org)
- binderについてはdemoで說明します

---

# [GeoNotebook: An extension to the Jupyter Notebook for exploratory geospatial.. - Chris Kotfila](https://www.youtube.com/watch?v=s82yE1gOuks)

- KitwareとNASAのAmesという研究所の方の発表
- KitwareはcmakeやVTKのParaViewの開発を行っている会社
- Kitwareの強みは3Dコンピュータグラフィックス
- 地空間情報の探索的解析のためのJupyter拡張の話

---

# GeoNotebookとは

- Python+JSのJupyter Notebook拡張
- tile serverとRPC通信しnotebookでinteractiveに地空間情報を探索できる
- tile serverとはいわゆるsemantic zoomを実現するための仕組み
  - zoomした際には情報の解像度を上げて可視化する

---

# GeoNotebook雑感など

- leafletとはどう違うのか?
  - tile serverにアクセスするのは同じと思われる
  - しかしそのtile server側を自分で望む解析ができるように利用者の手中にあるか否かが異なる

- 真価はガチの地空間情報利用者ではないのでわかりませんでした
  - 発表中でもあるようにdeployが難しい
  - Dockerfileをbinderにかけてみたのですがfailしてました https://mybinder.org/v2/gh/OpenGeoscience/geonotebook/master

---

# [Beautiful networks and network analytics made simpler with Jupyter - Daina Bouquin, John DeBlase](https://www.youtube.com/watch?v=C5wUIhNLxLo)

- Jupyter Notebookの中のGraph(ネットワーク)を描画するいいソフトが無いのでその改善を試みました，という話
- データ分析会社の方と修士の学生さんの発表
- SigmaJSというJSライブラリをJupyter Notebookと組み合わせるというもの

---

# 最期に
- IPySigmaを試す時間が無かったのでこの場で https://github.com/bsnacks000/IPySigma-Demo の Dockerfile を作りbinderで試してみましょう...

---