foss4 g2013 geoxcode_sengoku

34
GEOCODE ~一歩先行くFOSS4G東京大学 空間情報科学センター 博士課程 仙石裕明 @xianshiyuming テクニカル・セッション FOSS4GRubyでできること

Upload: hiroaki-sengoku

Post on 28-May-2015

474 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foss4 g2013 geoxcode_sengoku

GEOxCODE ~一歩先行くFOSS4G~

東京大学 空間情報科学センター  博士課程 仙石裕明  @xianshiyuming

テクニカル・セッション

FOSS4GでRubyでできること

Page 2: Foss4 g2013 geoxcode_sengoku

自己紹介

仙石裕明(せんごく ひろあき)    専門はマイクロシミュレーション!    東京大学 空間情報科学センター  柴崎亮介研究室 博士課程在籍    合同会社マイクロベース 代表      NPO伊能社中 副理事長  

h9p://microgeodata.com/

h9p://www.iknowshachu.org/

Page 3: Foss4 g2013 geoxcode_sengoku

3

Page 4: Foss4 g2013 geoxcode_sengoku
Page 5: Foss4 g2013 geoxcode_sengoku

public  class  HelloWorld  {          public  staJc  void  main(String[]  args)  {  

 System.out.println("Hello,World!");          }  }

puts  "Hello,World!"

Java

Ruby

Page 6: Foss4 g2013 geoxcode_sengoku

public  class  HelloWorld  {          public  staJc  void  main(String[]  args)  {  

 System.out.println("Hello,World!");          }  }

puts  "Hello,World!"

Java

Ruby

じぇじぇじぇ!!!  簡単すぎてやばい!!

('  jjj  ’)

Page 7: Foss4 g2013 geoxcode_sengoku

GISデータの読み込みや基本的な機能も簡単!

GeoRuby

RGeo sqlite3

PostGIS

geokit

Page 8: Foss4 g2013 geoxcode_sengoku

難しい計算は外部に任せる!

ruby-­‐opencv

RMagick mecab-­‐ruby

Page 9: Foss4 g2013 geoxcode_sengoku

DEMO

価格形成には多くの変数が絡んでそう。得に不動産は立地が大事と聞く。    GISを使って、建物からpgrouJngで「最寄駅までの距離」を推定しよう!

不動産賃料を推定したい!!

Page 10: Foss4 g2013 geoxcode_sengoku

DEMO

略 時間かかるので飛ばします

Page 11: Foss4 g2013 geoxcode_sengoku

DEMO

不動産賃料を機械学習(ランダムフォレスと)で簡単に推定してみる

※ここでは簡易的な推計を行います

Page 12: Foss4 g2013 geoxcode_sengoku

require  'rsruby'    r  =  RSRuby::instance    cor  =  r.eval_R(<<-­‐RCOMMAND)  

 library(randomForest)    data  <-­‐  read.csv(“mansion.csv",header=T)    ndata  <-­‐  nrow(data)    ridx  <-­‐  sample(ndata,  ndata*0.5)    data.learn  <-­‐  data[ridx,]      data.test  <-­‐  data[-­‐ridx,]    forest  <-­‐  randomForest(price~.,data  =  data.learn)    predict  <-­‐  predict(forest,  newdata  =  data.test,  type  =  "class")    cor(predict,  data.test[,5])  

RCOMMAND    puts  cor  

Rを呼び出すライブラリ

RCOMMAND内にRのソースコードを囲む

ランダムフォレスとの関数

コード量にすると、これだけ。

Page 13: Foss4 g2013 geoxcode_sengoku

統計学とか機械学習とか  Springerの難しい本で  理解するの大変  

Page 14: Foss4 g2013 geoxcode_sengoku

大枠を理解したい。まず試してみたい。そんなときにすぐに試せる。  

Page 15: Foss4 g2013 geoxcode_sengoku

Rubyでデータ収集・加工して、  ライブラリをつかってすぐに試す  

Page 16: Foss4 g2013 geoxcode_sengoku

Rubyのライバル?  

Page 17: Foss4 g2013 geoxcode_sengoku

Wikipedia:  h9p://ja.wikipedia.org/wiki/ファイル:Python  molurus  тигровый  питон.jpg

Page 18: Foss4 g2013 geoxcode_sengoku

無理無理!次元が違うって

('  jjj  ’) Wikipedia:  h9p://ja.wikipedia.org/wiki/ファイル:Python  molurus  тигровый  питон.jpg

Page 19: Foss4 g2013 geoxcode_sengoku
Page 20: Foss4 g2013 geoxcode_sengoku

FOSS4Gだと  Pythonが優勢??  

Page 21: Foss4 g2013 geoxcode_sengoku

Rubyだって  負けてません  

Page 22: Foss4 g2013 geoxcode_sengoku

Rubyの良いとこ  

Page 23: Foss4 g2013 geoxcode_sengoku
Page 24: Foss4 g2013 geoxcode_sengoku
Page 25: Foss4 g2013 geoxcode_sengoku

RGeo リアルタイム延焼シミュレーションのバックエンド

Page 26: Foss4 g2013 geoxcode_sengoku

h9p://2010.rubyworld-­‐conf.org/ja/program/B-­‐6/

Page 27: Foss4 g2013 geoxcode_sengoku

開発者が身近にいる

Page 28: Foss4 g2013 geoxcode_sengoku

h9p://www.atmarkit.co.jp/news/201104/14/sora.html

中学生のコミッタ!!  (2011年当時)

Page 29: Foss4 g2013 geoxcode_sengoku

Rubyはサービス・プロトタイプの開発好き・スタートアップには向いてる?  

私的結論

現時点ではFOSS4Gの用途においてはPythonの方が上かも…  

Page 30: Foss4 g2013 geoxcode_sengoku

最近こんな本も

Page 31: Foss4 g2013 geoxcode_sengoku

もっと基礎から

Page 32: Foss4 g2013 geoxcode_sengoku

明日からはじめよう!!

Page 33: Foss4 g2013 geoxcode_sengoku

Enjoy  Ruby  life!!

Page 34: Foss4 g2013 geoxcode_sengoku