Programming Collective Intelligence(まだ下読み段階)

Collective Intelligenceという本を読もうとしていて、とりあえず下読みというか、拾い読みをした。内容はというと、Collaborative Filtering、k-Nearest-Neighbourによるクラスタリング、Neural Network、Page Rankといったよく知られたアルゴリズムを使ったデータ処理遊びといった趣き。概念の説明だけじゃなくPythonを使ったコードもあり、データはdel.icio.usなどのWebサイトからWeb APIで入手するなど、実践的に学べるようになっている。スバラシイ。

Programming Collective Intelligence: Building Smart Web 2.0 Applications

Programming Collective Intelligence: Building Smart Web 2.0 Applications

本書にあるコードを試してみたくなったんだけど、久しぶりにRubyを使ってみたいなぁと思っていたところで、じゃあRubyで書いてみようかという気になった。ただ、本書ではPythonの非標準ライブラリをいろいろ使っているので、それらに相当するものがRubyにないと面倒だ。それでちょっとRubyのライブラリを物色してみた。

この本で使われるPythonのライブラリは

いろいろあるもんだ。PILとNumPyにはすでにお世話になったことがあって、すごく便利。ところでBeautiful Soupってネーミングはなんなのだ。

これらの各ライブラリに対応するものがRubyにあるかどうか調べた結果が次のもの

使い勝手や昨日の多寡はあるだろうけど、同じようなものはあるみたい。ということは、Rubyでもこの本のコードを真似るのも面倒なことではないようだ。


RubyForgeを眺めてるとβ版扱いのものが多くて、完成度の高いライブラリはまだまだ少ないのかなぁと感じた。バージョン番号の付け方が控えめなだけなのかもしれないけど。