2008年11月16日
プログラマーに最適なデータマイニングの教科書 『集合知プログラミング』
- 作者: Toby Segaran,當山仁健,鴨澤眞夫
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/07/25
- メディア: 大型本
- 購入: 71人 クリック: 1,819回
- この商品を含むブログ (261件) を見る
当初はサンプルコードがPythonということで購入した本書ですが、読んでみると内容の素晴らしさに驚嘆しました。私が今までに読んだオライリーシリーズでも屈指の名作だと思います。
『集合知プログラミング』とは
『集合知プログラミング』は、Amazonの協調フィルタリングのように、ウェブ上のデータを収集してユーザーの嗜好にあったコンテンツを推薦したり、大量のデータを分かりやすく分類・可視化するプログラムを簡単に実装する技術を解説した書籍です。Webプログラミングをかじったことのある方でしたら、だれしもAmazonのような推薦サービスを作ってみたいと思ったことがあるかと思いますが、そのような方には最適な書籍です。
データマイニングの教科書としての側面
本書はまた、データマイニングの優れた入門書でもあります。データマイニングとは大規模なデータをコンピューターで解析し、新たな知見を得る技術のことを指します。有名な例に「スーパーマーケットで紙おむつコーナーのそばにビールを置いておくと、ビールの売り上げが上がる」というものがあります。*1この例に見られるように、データマイニングを活用すると誰もが推測できなかった法則性を発見することができ、ビジネスや研究など様々な分野で戦略を立てる際に役立てることができます。
プログラミングをかじったことのある人がデータマイニングを勉強しようと思うなら、本書が最適だと私は思います。なぜなら、「内容が濃い」「分かりやすい」「実践的である」というプログラミングの技術書に重要な要素がすべて揃っているからです。
魅力1:内容が濃い
本書ではピアソン相関、SVM、K平均法によるクラスタリングや遺伝的プログラミングに至るまで、データマイニングの理論がこれでもかというぐらい紹介されています。私は以前「データマイニング」という講義を大学で受けたことがありますが、10回かけた講義内容と同じ内容が解説されています。
魅力2:分かりやすい
このように高度な理論が紹介されているにもかかわらず、本書では文系プログラマーに対してもきわめて親切な構成となっています。その1つに「いきなり数式を出さない」という点があります。一般的なデータマイニングの教科書は複雑な数式が登場するため、数学が得意ではない人にとっては文面を見るだけで敬遠がちです。しかし、本書では「似た嗜好を持った映画評価者を探す」といった身近な例と図式を用いて、それぞれの理論を数式抜きで解説してくれます。
もちろん後半の章ではそれぞれの理論について数式を用いた詳細な解説も載っており、データマイニングのアルゴリズムをしっかり理解しておきたいという人にも対応した親切な構成となっています。
魅力3:実践的である
本書の最大な魅力はここにあります。本書ではウェブ上のデータを解析するサンプルコードが掲載されており、読者は本書で得られたデータマイニングの素晴らしさをすぐに体感することができます。
例えば、第2章「推薦を行う」ではソーシャルブックマークサービスdel.icio.usのAPIを使って、似た内容に関心を持つブックマーカーを推薦するプログラムが紹介されています。このほかにもWebをクロールしてWebサイトの分類をするプログラムなど、データマイニングを最大限に活用した魅力的なプログラムをすぐに書くことができます。
それぞれのプログラムはPythonで書かれていますが、アルゴリズムが分かりやすいように平易に書かれているため、Pythonを知らなくとも理解できるソースコードになっています。
まとめ
以上、本書の魅力を3点に分けて解説しましたが、一言で言ってしまえば「難解なデータマイニングの理論をプログラミングを通して直感的に理解することができる」ということが、本書の最大の魅力です。
データマイニングなどの技術については自分も勉強中ですが、この本を片手に実際にウェブサービスの機能を実装できるまで上達していけるようがんばりたいと思いました。皆さんもぜひ本書を読んで、データマイニングの使い手になってください!
関連書籍
- 作者: 石井一夫
- 出版社/メーカー: 日刊工業新聞社
- 発売日: 2004/12
- メディア: 単行本
- 購入: 8人 クリック: 172回
- この商品を含むブログ (8件) を見る
「データマイニング」の講義でお世話になったテキスト。プログラマでない方にとってはこちらの方が分かりやすいかもしれません。この本も数式をあまり出さずに図解によって解説しています。
Rによるデータサイエンス - データ解析の基礎から最新手法まで
- 作者: 金明哲
- 出版社/メーカー: 森北出版
- 発売日: 2007/10/13
- メディア: 単行本(ソフトカバー)
- 購入: 15人 クリック: 174回
- この商品を含むブログ (59件) を見る
Rという統計解析に特化したプログラム言語を用いてデータマイニングを行うための入門書。Rは最初からデータマイニングの処理を行う関数が定義されているので、解析プログラムを簡単に書くことができます。
Webサービスではなく、解析だけを目的としたプログラムを書きたいという方はこちらをお勧めします。
なお、「Tsukuba.R」という筑波大学生が中心となっているRの勉強会が最近開催されているようなので、こちらも要チェックです。
関連記事(他サイト)
この記事に先行してデータマイニングの観点から書評を書かれています。
本書のサンプルコードについての問題点が提示されています。プログラムを実践する人はこちらもご参照ください。
- Seeking for my unique color.
- 集合知プログラミング 5.1 5.2 5.3 最適化 - DUNNO-CLEARブログ2.0
- 『集合知プログラミング』をR言語で書く - 極めて個人的なメモ
- no title
Pythonで書かれた本書のサンプルコードを、RubyやR言語に移植するという試みです。Pythonをメインに使っていない方はこちらを参考にするといいかもしれません。
関連記事(自サイト)
*1:ただし、これは実践された例ではなく、あくまで理論上の話だそうです。解説 > http://www.atmarkit.co.jp/aig/04biz/diapersandbeer.html
- morioXのもくもく日記 - 集合知プログラミングおもしろそー
- WEB開発日記 - プログラマーに最適なデータマイニングの教科書 『集...
- src’s note - 気になる技術メモ
- 少女が売春するきっかけ 1位「金」、2位「寂しかった」、3位「話し...
- ちょっぴりHで少し過激なブログ - 図書館にて
- WEB開発日記 - プログラマーに最適なデータマイニングの教科書 『集...
- WEB開発日記 - プログラマーに最適なデータマイニングの教科書 『集...
- プログラマになりたい - 改めて、集合知プログラミングが素晴らしい
- links for 2008-11-17
- 気になったネタリンク - プログラマーに最適なデータマイニングの教...
- will_in_hikiの日記 - プログラマーに最適なデータマイニングの教科...
- まるで挫折する気配のない驚異的な思考法・成長法
- ある二宮ひかるファンの日記 - つぶやきその6
- デロンギ オイルヒーター特集 - 注目記事
- トントカイモ - wekaやRに関するリンクをまとめてみる
- 1192 http://www.hatena.ne.jp/
- 1115 http://b.hatena.ne.jp/hotentry
- 964 http://b.hatena.ne.jp/
- 552 http://d.hatena.ne.jp/
- 411 http://reader.livedoor.com/reader/
- 208 http://www.iza.ne.jp/bookmark/133577/
- 203 http://homepage1.nifty.com/maname/
- 144 http://phpspot.org/blog/archives/2008/11/20081117.html
- 137 http://b.hatena.ne.jp/add?mode=confirm&title=%u30D7%u30ED%u30B0%u30E9%u30DE%u30FC%u306B%u6700%u9069%u306A%u30C7%u30FC%u30BF%u30DE%u30A4%u30CB%u30F3%u30B0%u306E%u6559%u79D1%u66F8 %u300E%u96C6%u5408%u77E5%u30D7%u30ED%u30B0%u30E9%u30DF%u30F3%u30B0%u300F
- 131 http://www.google.com/reader/view/












