foss4 g2013 geoxcode_sengoku
TRANSCRIPT
GEOxCODE ~一歩先行くFOSS4G~
東京大学 空間情報科学センター 博士課程 仙石裕明 @xianshiyuming
テクニカル・セッション
FOSS4GでRubyでできること
自己紹介
仙石裕明(せんごく ひろあき) 専門はマイクロシミュレーション! 東京大学 空間情報科学センター 柴崎亮介研究室 博士課程在籍 合同会社マイクロベース 代表 NPO伊能社中 副理事長
h9p://microgeodata.com/
h9p://www.iknowshachu.org/
3
public class HelloWorld { public staJc void main(String[] args) {
System.out.println("Hello,World!"); } }
puts "Hello,World!"
Java
Ruby
public class HelloWorld { public staJc void main(String[] args) {
System.out.println("Hello,World!"); } }
puts "Hello,World!"
Java
Ruby
じぇじぇじぇ!!! 簡単すぎてやばい!!
(' jjj ’)
GISデータの読み込みや基本的な機能も簡単!
GeoRuby
RGeo sqlite3
PostGIS
geokit
難しい計算は外部に任せる!
ruby-‐opencv
RMagick mecab-‐ruby
DEMO
価格形成には多くの変数が絡んでそう。得に不動産は立地が大事と聞く。 GISを使って、建物からpgrouJngで「最寄駅までの距離」を推定しよう!
不動産賃料を推定したい!!
DEMO
略 時間かかるので飛ばします
DEMO
不動産賃料を機械学習(ランダムフォレスと)で簡単に推定してみる
※ここでは簡易的な推計を行います
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のソースコードを囲む
ランダムフォレスとの関数
コード量にすると、これだけ。
統計学とか機械学習とか Springerの難しい本で 理解するの大変
大枠を理解したい。まず試してみたい。そんなときにすぐに試せる。
Rubyでデータ収集・加工して、 ライブラリをつかってすぐに試す
Rubyのライバル?
Wikipedia: h9p://ja.wikipedia.org/wiki/ファイル:Python molurus тигровый питон.jpg
無理無理!次元が違うって
(' jjj ’) Wikipedia: h9p://ja.wikipedia.org/wiki/ファイル:Python molurus тигровый питон.jpg
FOSS4Gだと Pythonが優勢??
Rubyだって 負けてません
Rubyの良いとこ
RGeo リアルタイム延焼シミュレーションのバックエンド
h9p://2010.rubyworld-‐conf.org/ja/program/B-‐6/
開発者が身近にいる
h9p://www.atmarkit.co.jp/news/201104/14/sora.html
中学生のコミッタ!! (2011年当時)
Rubyはサービス・プロトタイプの開発好き・スタートアップには向いてる?
私的結論
現時点ではFOSS4Gの用途においてはPythonの方が上かも…
最近こんな本も
もっと基礎から
明日からはじめよう!!
Enjoy Ruby life!!