Hatena::ブログ(Diary)

図書館情報学を学ぶ

title photo by Thomas Hawk

2008年11月16日

プログラマーに最適なデータマイニングの教科書 『集合知プログラミング』

集合知プログラミング

集合知プログラミング

当初はサンプルコードがPythonということで購入した本書ですが、読んでみると内容の素晴らしさに驚嘆しました。私が今までに読んだオライリーシリーズでも屈指の名作だと思います。

『集合知プログラミング』とは

『集合知プログラミング』は、Amazon協調フィルタリングのように、ウェブ上のデータを収集してユーザーの嗜好にあったコンテンツを推薦したり、大量のデータを分かりやすく分類・可視化するプログラムを簡単に実装する技術を解説した書籍です。Webプログラミングをかじったことのある方でしたら、だれしもAmazonのような推薦サービスを作ってみたいと思ったことがあるかと思いますが、そのような方には最適な書籍です。

データマイニングの教科書としての側面

本書はまた、データマイニングの優れた入門書でもあります。データマイニングとは大規模なデータをコンピューターで解析し、新たな知見を得る技術のことを指します。有名な例にスーパーマーケットで紙おむつコーナーのそばにビールを置いておくと、ビールの売り上げが上がる」というものがあります。*1この例に見られるように、データマイニングを活用すると誰もが推測できなかった法則性を発見することができ、ビジネスや研究など様々な分野で戦略を立てる際に役立てることができます。

プログラミングをかじったことのある人がデータマイニングを勉強しようと思うなら、本書が最適だと私は思います。なぜなら、「内容が濃い」「分かりやすい」「実践的である」というプログラミングの技術書に重要な要素がすべて揃っているからです。

魅力1:内容が濃い

本書ではピアソン相関、SVM、K平均法によるクラスタリング遺伝的プログラミングに至るまで、データマイニングの理論がこれでもかというぐらい紹介されています。私は以前「データマイニング」という講義を大学で受けたことがありますが、10回かけた講義内容と同じ内容が解説されています。

魅力2:分かりやすい

このように高度な理論が紹介されているにもかかわらず、本書では文系プログラマーに対してもきわめて親切な構成となっています。その1つに「いきなり数式を出さない」という点があります。一般的なデータマイニングの教科書は複雑な数式が登場するため、数学が得意ではない人にとっては文面を見るだけで敬遠がちです。しかし、本書では「似た嗜好を持った映画評価者を探す」といった身近な例と図式を用いて、それぞれの理論を数式抜きで解説してくれます。

もちろん後半の章ではそれぞれの理論について数式を用いた詳細な解説も載っており、データマイニングのアルゴリズムをしっかり理解しておきたいという人にも対応した親切な構成となっています。

魅力3:実践的である

本書の最大な魅力はここにあります。本書ではウェブ上のデータを解析するサンプルコードが掲載されており、読者は本書で得られたデータマイニングの素晴らしさをすぐに体感することができます。

例えば、第2章「推薦を行う」ではソーシャルブックマークサービスdel.icio.usAPIを使って、似た内容に関心を持つブックマーカーを推薦するプログラムが紹介されています。このほかにもWebをクロールしてWebサイトの分類をするプログラムなど、データマイニングを最大限に活用した魅力的なプログラムをすぐに書くことができます。

それぞれのプログラムはPythonで書かれていますが、アルゴリズムが分かりやすいように平易に書かれているため、Pythonを知らなくとも理解できるソースコードになっています。

まとめ

以上、本書の魅力を3点に分けて解説しましたが、一言で言ってしまえば「難解なデータマイニングの理論をプログラミングを通して直感的に理解することができる」ということが、本書の最大の魅力です。

データマイニングなどの技術については自分も勉強中ですが、この本を片手に実際にウェブサービスの機能を実装できるまで上達していけるようがんばりたいと思いました。皆さんもぜひ本書を読んで、データマイニングの使い手になってください!

関連書籍

図解 よくわかるデータマイニング (B&Tブックス)

図解 よくわかるデータマイニング (B&Tブックス)

「データマイニング」の講義でお世話になったテキスト。プログラマでない方にとってはこちらの方が分かりやすいかもしれません。この本も数式をあまり出さずに図解によって解説しています。

Rによるデータサイエンス-データ解析の基礎から最新手法まで

Rによるデータサイエンス-データ解析の基礎から最新手法まで

Rという統計解析に特化したプログラム言語を用いてデータマイニングを行うための入門書。Rは最初からデータマイニングの処理を行う関数が定義されているので、解析プログラムを簡単に書くことができます。

Webサービスではなく、解析だけを目的としたプログラムを書きたいという方はこちらをお勧めします。

なお、「Tsukuba.R」という筑波大学生が中心となっているRの勉強会が最近開催されているようなので、こちらも要チェックです。

関連記事(他サイト)

この記事に先行してデータマイニングの観点から書評を書かれています。

本書のサンプルコードについての問題点が提示されています。プログラムを実践する人はこちらもご参照ください。

Pythonで書かれた本書のサンプルコードを、RubyR言語に移植するという試みです。Pythonをメインに使っていない方はこちらを参考にするといいかもしれません。

関連記事(自サイト)

*1:ただし、これは実践された例ではなく、あくまで理論上の話だそうです。解説 > http://www.atmarkit.co.jp/aig/04biz/diapersandbeer.html

なまえなまえ 2008/11/17 00:07 こんにちは。Tsukuba.R主催者の一人のid:syou6162です。Tsukuba.Rへの言及ありがとうございます。

ついこの前やってきましたTsukuba.R#3ではこの本に載っている遺伝的アルゴリズムのところの紹介をしました。参加者も統計やっている人ばっかりというわけではなく(というかやっていない人のほうが多いような)プログラムを普段書いている、という人も多いです。

ええっと、何が言いたかったのかよく分からなくなってきましたが、統計言語だからと言って統計知ってないと参加できないというわけではないのでTsukuab.Rお気軽にご参加ください、ということでした><

kunimiyakunimiya 2008/11/17 00:28 > id:syou6162 さん
コメントありがとうございます!
おお、実際にこの本を活用なされたのですね。Tsukuba.R#3には残念ながら参加できませんでしたが、次回は必ず参加したいと思います。
それまでにこの本の内容をマスターできるよう頑張ります!

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

カテゴリー
言及した本
  • パターン認識と機械学習 上 - ベイズ理論による統計的予測
  • 不平等の再検討―潜在能力と自由
  • 経済学の名著30 (ちくま新書)
  • システムの科学
  • 未来をつくる図書館―ニューヨークからの報告― (岩波新書)
  • 図書館資料論 (新・図書館学シリーズ (7))
  • ウェブサイエンス入門―インターネットの構造を解き明かす (コミュニケーションサイエンスシリーズ)
  • 図解 よくわかるデータマイニング (B&Tブックス)
  • Rによるデータサイエンス-データ解析の基礎から最新手法まで
  • 集合知プログラミング