Sci rubyプロジェクトの紹介

18
SciRuby プププププププププ (@kozo2) ププ SciRuby ププププププププププププププ ププププププ ププププププ 1.Ruby プププププププププ 2.Python プププププ Ruby プププ 3.SciRuby(-jp) ププププププププププププププ

Transcript of Sci rubyプロジェクトの紹介

Page 1: Sci rubyプロジェクトの紹介

SciRuby プロジェクトの紹介 (@kozo2)

目的●SciRubyプロジェクトを背景を交え紹介●協力者を募るアウトライン

1.Rubyとデータサイエンス2.Pythonと比較した Rubyの現状3.SciRuby(-jp)プロジェクトから伝えたいこと

Page 2: Sci rubyプロジェクトの紹介
Page 3: Sci rubyプロジェクトの紹介
Page 4: Sci rubyプロジェクトの紹介
Page 5: Sci rubyプロジェクトの紹介

SciRuby(-jp)プロジェクトとは科学技術計算における Ruby 環境の改善が目的の国際プロジェクト

http://sciruby.com/

最近発足した (-jp)ではデータサイエンスのための環境が主なターゲット(-jp)の中心人物、組織

モチベーション「 Rubyで書けると嬉しい (文法的なもの )、 Ruby活用の領域を広めたい」

Koichi Sasada Kenta Murata

Page 6: Sci rubyプロジェクトの紹介

Rubyはデータサイエンスには使われていないなぜか ? Pythonを使うから。エコシステムとしての熟成

ハイレベルからローレベルまで全てをカバーするパッケージ群メジャー OS全てをカバーするバイナリパッケージマネージャー実例、ドキュメントの充実コミュニティ、資金

そもそもデータサイエンスとは ?上記を Rubyで実現すればいいんじゃないの ?

-> 以降はそれらについて、と SciRuby(-jp)プロジェクトの紹介

Page 7: Sci rubyプロジェクトの紹介

誰もが知っているデータサイエンスソフト

Page 8: Sci rubyプロジェクトの紹介

Excelでは不十分かつ必要な機能(ビッグというより ) 複雑なデータを巧みに扱う機能 (データフレーム )

テキスト (xls, csv, tsv, json, ...), RDB, HDF, … 表概念なんでも整形 , 統合 , 集計 ( 例ピボットテーブル )

Excel が搭載する機能より高度な データ解析 (機械学習 , 統計 ) , 可視化

SPSS R

Matlab

Python

Page 9: Sci rubyプロジェクトの紹介

Excelでは不十分かつ必要な機能(ビッグというより ) 複雑なデータを巧みに扱う機能 (データフレーム )

テキスト (xls, csv, tsv, json, ...), RDB, HDF, … 表概念なんでも整形 , 統合 , 集計 ( 例ピボットテーブル )

Excel が搭載する機能より高度な データ解析 (機械学習 , 統計 ) , 可視化

SPSS R

Matlab

Python

http://jakevdp.github.io/blog/2012/09/20/why-python-is-the-last/ より

Page 10: Sci rubyプロジェクトの紹介

Pythonのデータ解析エコシステム

メジャー OS全てをサポートするバイナリパッケージマネージャー

コミュニティ、教育を通して研究開発を促進、サポートする非営利団体

Page 11: Sci rubyプロジェクトの紹介

Pythonと比較した (Sci)Ruby の現状● 資産が皆無という訳ではない● ツール間の連携統一性が乏しい● ドッグフーディングが圧倒的に足りていない

○ インストールの困難○ ドキュメント不足

● 導き出される改善策○ 動作テスト○ 情報整理

現在の SciRuby-jpプロジェクトが行っていることhttps://github.com/sciruby-jp/survey/issues

Page 12: Sci rubyプロジェクトの紹介

SciRuby(-jp) が現在行おうとしている事 データフレーム ( pandas ) -> daru ( https://github.com/v0dro/daru ) の改善

(実際にはドッグフーディング )

機械学習 ( scikit-learn ) -> https://github.com/sciruby-jp/survey/issues/1

統計 ( R ) -> R 連携 ?, https://github.com/SciRuby/statsample ?

可視化 ( matplotlib, plotly, bokeh) -> nyaplot ( https://github.com/domitry/nyaplot ) の改善 (実際にはドッグフーディング )

全て Jupyter Notebook 上での活用を想定 IRuby kernel のドッグフーディングも含む

Page 13: Sci rubyプロジェクトの紹介
Page 14: Sci rubyプロジェクトの紹介

保留策、アイデアのみのものなど(Nyaplotだけでなく他の ) JS 可視化ソフトとの連携

Plotly, bokeh, … 用の gem

ただ前述のことが準備できてないと旨味ほぼ無し ... (だからmikonが作られた )

バイナリ gem 環境の改善現状インストールが困難 , どの OSでも用意に使える環境を ...

Conda の利用 ?

異言語間連携 (C[++], プロセス間通信 , メッセージパッシング )

Jupyter 用 ZeroMQ gemのメンテRserve活用 , runr への Ruby engineの追加

C(++) Java のバインディングOpencv, Deep Learning系のソフト , …

Cython 相当の gem

大規模データ処理系 (Apache Arrow, Spark)

Page 15: Sci rubyプロジェクトの紹介

もしアイデアがあれば (しかし銀の弾丸は無い ...?)

基本的に Python の後追いPython も R を後追いした車輪の再発明にも意味はある。 ( 例 Julia)

(他言語も含んだ ) 既存資産の活用 ?

Rails (Active record?)

Rails のようなキラーアプリ ?

Page 16: Sci rubyプロジェクトの紹介

参加方法Slack

Google group

https://sciruby-slack.herokuapp.com/

https://groups.google.com/forum/#!forum/sciruby-jp

Page 17: Sci rubyプロジェクトの紹介

今後の予定 サーベイミーティング (サーベイ成果報告会 )

RubyKaigi 2016

???

Ruby Association助成金Google summer of code

Page 18: Sci rubyプロジェクトの紹介

余談PyData Osaka (予定 )

データサイエンスについて興味があれば現状「 Rubyで」学習する、のは少し厳しいPython に限るものでは無い。データサイエンスに関して

ならなんでも (R, Julia, もちろん Rubyでも )

Slack https://pydata-jp.herokuapp.com/

こちらも協力者募集