読者です 読者をやめる 読者になる 読者になる

RとRubyによるデータ解析環境を手っ取り早く構築してデータ解析するまで

RとRubyによるデータ解析入門買いました。
データマイニングとかいま流行ってて面白そうだなー、でもどこからはじめればいいのかなーって前々から思っていたんです。
そんなところにRとRubyを使ってデータ分析のやり方をいちから教えてくれる本が出たなら買うしかないですよね。
コマンド叩くだけでデータ解析が簡単にできちゃって、無意識のうちにニヤニヤしてしまい我ながら気持ち悪い毎日を過ごしています。
RとRubyによるデータ解析入門
この本の素晴らしい点はRとRubyの環境を用意さえすれば、コマンドを実行するだけでデータ解析ができちゃう!!(気分にさせてくれる)ところです。
プログラミングや統計の知識がなくても大丈夫、あとでわからないところは勉強すればいいんです。
簡単にデータを生成&分析して、結果を視覚的に確認できるところがすごくいいなと思いました。

というわけで、手元のMacLinuxが動くマシンを使って、データマイニングをはじめる手順について書きました。
以下、インストールのコマンドがDebian系になっていますが、他のディストリビューションを使用していれば読みかえてください。

では、LinuxMacで手っ取り早く環境構築始めましょう。
Windowsしか環境がなければVMWare Player上にUbuntuをインストールするといいです、わたしはそうしてます。

Rubyをインストールする

Rubyは可読性の高いプログラミング言語です。ここではモデルの構築や取得したデータの前準備に使用してます。
本書で使用しているRubyのバージョンは1.9.2です。
1.9.2以降がインストールされていればこの節はスキップしてください。
MacやいくつかのディストリビューションではRubyはデフォルトではいっています。
バージョンを確認しましょう。

$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

私の環境では1.9.3でした。
1.9系より古い、もしくはインストールされてない場合は1.9系のRubyを入れましょう。

$ sudo apt-get install ruby1.9.3

Macなら

$ brew install brew

最新のRuby(2.0.0以降)をインストールしたい方は適当にぐぐってください。

Rをインストールする

Rってのはデータ分析に特化したプログラミング言語、および実行環境です。
データ分析と可視化に使用しています。
インストールするには以下のコマンドを実行します。

$ sudo apt-get install r-base-core

上記だとパッケージがインストールされないので後で追加する必要があります。
ただ、必要のないパッケージをインストールしなくていいので時間と資源の節約になり、手っ取り早さ度が増します。

Rのパッケージをインストールする

Rのパッケージは膨大な量が公開されていますが、ここではひとつだけインストールします。

$ R

Rを起動します。

Rのバージョンやら何やらが表示され、プロンプトが'>'になっていたらRの起動に成功しています。

> install.packages()

細長のWindowが表示されCRANのミラーサイトが表示されます。
現在の自分がいる位置から最も近いと思われる場所(東京に住んでいるならJapan(Tokyo))を選択しOKをクリックします。
次にインストールしたいパッケージを選択します。
ここでは'ggplot2'が必要なので真ん中よりちょっとしたあたりの'ggplot2'を選択してOKをクリックします。
これでインストールは完了です。

データ分析に使用するソースコードをダウンロードする

githubが使える環境なら以下のコマンドを実行すれば本書で使用しているソースコードがすべてダウンロードできます。

$ git clone git://github.com/setoyama60jp/everyday.git

github何それ???って人はブラウザから必要なソースコードをコピってもありだと思います。

いよいよデータ解析実行

ここまででRとRubyの実行環境、およびデータ生成&分析に必要なソースコードが手に入りました。
わくわくしてきましたね!
なんかこうわくわくするとトイレに行きたくなりますよね!
あれってなんでですかね?不思議ですよね!気になりますよね!!
だれか研究してる人たちいないのかな、イグノーベル賞狙えると思うんだけど。
あれ、そんなことないんですか!?おかしいなー、なんでだろうなー。
では次です。

データの生成

rubyを実行して分析に必要なデータを生成しましょう。
example4-4.rbを使用します。
本書では、「4章 オフィスとトイレの関係」に該当する部分で
10人から600人までの範囲でトイレにできる待ち行列の長さをそれぞれ生成するソースコードです。

$ ruby example4-4.rb

実行すると"simulation1.csv"ファイルが生成されます。*1
次にこのデータをRでプロットしていきます。

Rでソースファイルを読み込む

Rでソースファイルを読み込むには大きく以下の方法があるようです。

  • Rコンソールからsource()関数を使う

ここでは後者で実行します。
実行対象のファイルはexample4-5.rです。

> R CMD BATCH example4-5.r

先程生成したCSVファイルを読み込みグラフを生成しPDFファイルとして出力する処理を行なっています。

f:id:snowlong:20130429153203j:plain

こんな感じに出力されました。
plotしただけでデータ分析は行なっていないのですが、それは本書で色々と行なっているので手抜き割愛します。

さいごに

いかがでしたでしょうか。
この本ではrubyを実行してデータ生成orモデルの記述→Rを実行して分析&可視化って流れで話が進んでいきます。
ソースコードの割と細かい部分にまで解説があるのでわかりやすいです。
統計の用語とかRubyの文法とかがわからないと難しいと感じる部分もありますが頑張ってググるなりなんなりしましょう。

昔の人が喉から手が出るほど欲しかったデータが今は簡単に手に入る時代です。
でも、簡単に手に入る時代になっても、一部の人しかデータを有効活用していませんし受動的に情報を受け取っている人が多いです。
折角ですから色々とデータを活用したほうが有意義な人生がおくれるんじゃないかなーと思います。
テキストデータでも、株価でも、天気でもなんでもいいから、自分の視点で分析すると世界が少しだけ豊かになった気がします。
ひとりでも多くの人が自分の視点を持てばそれだけ世界は豊かになるのではないかなと。

この本は、私たちが消すようになってしまった戸惑いの気持ちや発見の感覚を復活させる試みです。
この本が、自分の知らなかったことやわからなかったことを解き明かすことを私は願っています。
また、この本が見慣れた日常の世界の中に存在する新しい世界をあなたが発見する手助けになることを願っています。
そして、この本を読むことで、あなたが日常の世界を探検し、プログラミングやデータ分析を通して、そこから新しいことを学ぶようになるのを願っています。
ーRとRubyによるデータ解析入門 はじめに ⅸ

RとRubyによるデータ解析入門

*1:同階層にrestroom.rbも配置しないとエラーになります。