LABOT 機械学習ブログ

本郷で機械学習の受託開発をしている会社のブログです。CEOの堀田がディープラーニング・データ分析周辺の技術情報を発信します。

サイバーエージェントのデータマイニング本がデータサイエンティスト必読書だった件

データマイニング、データサイエンス、python, R

堀田(@YoshiHotta)です。この記事はサイバーエージェントの秋葉原ラボの方が執筆された『データマイニングエンジニアの教科書』の書評です。

企業でデータマイニングをする人に必要な知識を俯瞰できる、しっかりしたデータマイニングの本だと思いました。データマイニングの初心者にも中級者にもぜひオススメしたい一冊だったので書評を書くことにしました。

また、データマイニングの独習に役に立つ書籍も多数紹介します。

データマイニングエンジニアの教科書

データマイニングエンジニアの教科書

  • 作者: 森下壮一郎,水上ひろき,高野雅典,數見拓朗,和田計也
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2019/06/27
  • メディア: Kindle版
  • この商品を含むブログを見る

この本は(特に Web 系の) データ分析の実務者に必要な事柄が網羅的に取り上げられています。300ページという厚さからすると扱っているテーマはとても幅広いです。一つ一つのテーマは重要なキーワードと概念を説明するに留め、詳しいことを勉強できるように参考文献が充実しています。

新しい分野に入るときはまず全体を俯瞰し、分野の地図を頭の中に作ることが大事です。 地図があれば闇雲に本を読み漁ることをせずに済み、学習時間を節約できます。 データマイニングという広大な分野を前に、怖気づくことなく、迷子になることもなくなるのです。

データマイニング初心者は『データマイニングエンジニアの教科書』を読むことで分野の地図を俯瞰し、データマイニングの学習プランを立てることができるでしょう。 前述の通り、この本の参考文献は充実しており、標準的な教科書が引用されています。 この本を読んでから引用されている文献に進むことで各テーマを本格的に学習できます。

又、この本はデータマイニングの既習者・実践者にも有益であると感じました。

第一に、この本をパラパラとめくることで知識に抜けがないか確かめることができ、復習になると思います。 第二に、この本の中には思わず唸ってしまう見事な説明や例示が散りばめられています。

データマイニングは横断的な分野です。 様々なバックグラウンドの人と関わりながら仕事をすることになります。 この本を読んで自分も分かりやすい説明ができるようになって、様々なバックグラウンドの人と楽しく雑談ができるようになった気分になりました。

データマイニングエンジニアに必要な知識は主に3つあると思います。統計学、プログラミングスキル、業務知識が必要です。

この本はこの3つ全てをバランスよく説明している点が素晴らしいと思いました。 これまでこういう本はありませんでした。

目次を見てみましょう。

目次
CHAPTER 01 データマイニングを始める前に
CHAPTER 02 統計学の基礎
CHAPTER 03 計算機上のデータ
CHAPTER 04 構造を持つデータ
CHAPTER 05 テーブル
CHAPTER 06 可視化
CHAPTER 07 パターンと距離
CHAPTER 08 多変量解析
CHAPTER 09 時系列解析
CHAPTER 10 計算量の見積もり
CHAPTER 11 エンジニア的財務会計
CHAPTER 12 指標を考える
CHAPTER 13 技術者倫理

ご覧の通り、統計学、コンピュータサイエンス、業務知識が全て取り上げられています。

研究とサービスのデータ分析の両方をしている、サイバーエージェントの秋葉原ラボの方々だからこそ書ける内容だと思いました。

データマイニングエンジニアになりたい人に最初の一冊としてぜひオススメしたい内容です。

この本に沿ってデータマイニングの勉強方法をご紹介します。

データマイニングとは何か

データマイニングという用語は曖昧で、時代や人によって定義は様々です。 概ね次のような意味です。データマイニングを定義しろと言われたら私は以下のように定義します。

「データマイニングとは仮説なしに集められたデータに統計学や機械学習の手法を適用し、有益な情報を抽出する行為である。」

この定義に従うならば、データマイニングをするにはまず、統計学や機械学習の手法を習得する必要があります。

有益な情報を抽出するために、現代ではコンピュータの使用が必須です。 近年、扱うデータの量は日に日に大きくなっており、並列計算をする機会が多くなっています。 有限の計算資源を使って、効率的な計算をするために、データマイニングをする人も最低限のプログラミングの知識を身につける必要があるでしょう。

データマイニングは有益な情報を抽出する行為であると書きましたが、有益な情報とはそもそも何でしょうか。 それは分野(ドメイン)によって異なります。 実務者としてデータマイニングをするには自分の働く業界の業務知識(ドメイン知識)を身につける必要があります。 どういった情報が所属する会社に有益であるかを理解していなければ、そもそもデータマイニングはしようがないのです。

従って、データマイニングをするには統計学、プログラミング、業務知識の3つを習得する必要があるのです。

統計学

データマイニング3本の柱の一本目、統計学から見てみましょう。 『データマイニングエンジニアの教科書』第2章、第6章、第7章、第8章、第9章がこのセクションに該当します。

データマイニングでは大量のデータから有益な情報を抽出し、記述するために統計学が用いられます。大学で統計学を学ばれた方も多いかと思いますが、私の意見では大学の教養科目で学ぶレベルと実務で必要なレベルのギャップは大きいです。

第一に、教養レベルの統計学では初歩的な統計学しか習いません。 私が大学で取った統計学の授業では、データのばらつきが等分散正規分布であることを仮定し、線形モデルを適用し、最尤法で直線を引いて、というレベルの知識さえあればとりあえず単位は取れました。

実際は、統計学の基礎を理解していなければ、結果を正しく解釈することができません。データマイニングをしても正しい解釈ができなければ「有益な情報」を抽出することはできないため、統計学に真面目に取り組む必要があります。

第二に、現代ではコンピュータを使って統計処理をすることが普通にも関わらず、どういうわけか授業でコンピュータを使った統計処理を学ばないことが多いです。統計処理はまず、データをプロットすることから始まります。 コンピュータを用いた統計処理ができなければ、データマイニングは始められないと言っても過言ではありません。

『データマイニングエンジニアの教科書』第2章 では統計学の基礎が取り上げられています。この章と同じレベルの統計学を説明した本として、以下の本がオススメです。

統計学入門 (基礎統計学?)

統計学入門 (基礎統計学?)

古い本ですが、大学の教養レベルの教科書でこの本を超える本は未だにないでしょう。

これ一冊を読めば、伝統的な統計学の基礎はマスターできます。 この本は残念ながらコンピュータを用いた統計処理については書かれていため、別に学習する必要があります。

以下の本は機械学習の本ですが、上巻は統計学の理論的な説明がよくまとまっており、中級者以上にもオススメです。 ベイズ統計学について分かりやすく説明されており、座右の書となるでしょう。

パターン認識と機械学習 上

パターン認識と機械学習 上

  • 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
  • 出版社/メーカー: 丸善出版
  • 発売日: 2012/04/05
  • メディア: 単行本(ソフトカバー)
  • 購入: 6人 クリック: 33回
  • この商品を含むブログ (20件) を見る

この本もコンピュータを使って処理する方法が書かれていないのが残念な点です。

仮説検定だけに絞って説明した本としては以下の本がオススメです。

次の本がオススメです。

44の例題で学ぶ統計的検定と推定の解き方

44の例題で学ぶ統計的検定と推定の解き方

この本はよく使う検定を44個挙げた本で、非常に便利です。

可視化とコンピュータを使った統計処理について勉強したい人には次の本がオススメです。

みんなのR 第2版

みんなのR 第2版

  • 作者: Jared P. Lander,高柳慎一,津田真樹,牧山幸史,松村杏子,簑田高志
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/12/28
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る

この本は R 言語という統計処理で標準的に用いられるソフトウェアの使い方を説明した本です。

『データマイニングエンジニアの教科書』第6章では可視化について取り上げられています。 前述の通り、データをプロットすることから統計処理は始まります。 まずはサクッとデータをプロットをしたいのに、ググるのに時間がかかって仕方がないという人には以下の本がおすすめです。

Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集

Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集

この本は R言語でグラフをプロットするためのレシピ集です。 私はR言語でプロットをしようと思ったらまずこの本を開きます。 この本からコードをコピペするだけで綺麗なグラフが一瞬で作れるのでオススメです。

単に可視化をするだけだったらPython より R の方がずっと簡単なのでオススメです。どうしても Python で可視化をしたい人はググりましょう (-.-;)。

『データマイニングエンジニアの教科書』第7章、第8章ではクラスタリングや多変量解析といった発展的な統計学が取り上げられています。 更に深く学びたい人には、次の本がオススメです。

はじめてのパターン認識

はじめてのパターン認識

この本は平易すぎず、数式が丁寧に書かれている本で大変オススメです。

『データマイニングエンジニアの教科書』第9章の時系列解析は、実務でデータ分析をしていて頻繁に出くわすのでぜひ押さえておきたいトピックです。 時系列解析の教科書としては、以下の本が最初の一冊としてよいです。

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

経済・ファイナンスデータの計量時系列分析 (統計ライブラリー)

この本は経済学やファイナンスの知識が全くなくても読めますし、全ての分野の人にオススメできる一冊です。

プログラミング

次に、データマイニング3本の柱の二本目、プログラミングを見ていきましょう。『データマイニングエンジニアの教科書』第3章、第4章、第5章、第10章がこのテーマに該当します。

データマイニングをするために必要なプログラミングの知識は限定的です。

SQL とスクリプト言語について基礎的な知識をまず押さえましょう。

『データマイニングエンジニアの教科書』ではデータ構造やアルゴリズムについても取り上げらていますが、データマイニング初心者はまずは無視してもいいかと思います。 自分でアルゴリズムを実装するときは必須の知識になりますが、最初は無視してライブラリを使うだけで足ります。

初心者データマイニングエンジニアに必要なSQL はズバリSELECT 文だけです。以下の本はデータマイニングでよく使うSQL文のレシピで、非常に重宝します。

ビッグデータ分析・活用のためのSQLレシピ

ビッグデータ分析・活用のためのSQLレシピ

まずはこの本を読んで SELECT 文の書き方に習熟しましょう。

きちんとSQLを勉強したくなった方にはミックさんのSQLの本がオススメです。

SQL 第2版 ゼロからはじめるデータベース操作

SQL 第2版 ゼロからはじめるデータベース操作

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)

データマイニングでよく使うスクリプト言語といえば、PythonとR言語です。 データマイニング向けのPythonの本は沢山あります。どれも似たり寄ったりだと思うので、適当に一冊選んで読みましょう。例えば以下の本がオススメです。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

R言語は統計学、データマイニングに特化した言語です。 入門書としては、上でも取り上げたこの本がいいでしょう。

みんなのR 第2版

みんなのR 第2版

  • 作者: Jared P. Lander,高柳慎一,津田真樹,牧山幸史,松村杏子,簑田高志
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/12/28
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る

データ分析に入る前に、データを綺麗にすることを前処理といいます。SQL/R/Python全ての言語で前処理にフォーカスして説明した本として、以下の本があります。 データマイニングの殆どの時間は前処理に費やすことになるので、持っていて損はないと思います。

前処理大全[データ分析のためのSQL/R/Python実践テクニック]

前処理大全[データ分析のためのSQL/R/Python実践テクニック]

データ構造やアルゴリズムについて勉強したくなった中級者の方には次の本がオススメです。

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

この本はプログラミングコンテストに興味がない人にもオススメです。 アルゴリズムとデータ構造を理解する最短経路は実際に手を動かすことだと思います。 この本はAIZU ONLINE JUDGE というサイトを使って、コードが正しいかを動かして確かめながら勉強することができます。 この本の知識があれば、データマイニングのためのアルゴリズムとデータ構造の知識としては十分過ぎます。

業務知識

要するに、大人の事情です。 『データマイニングエンジニアの教科書』第11章、第12章がこのテーマに該当します。

実務者らしい内容が多いのもこの本の魅力です。例えば12章「指標を考える」はまさにそうです。 この章では環境分析から施策実施までの流れ、会計指標、指標のブレークダウンを説明しています。 企業では何らかのビジネス的な目標を達成するために、意思決定の材料を集める必要があり、そのためにデータ分析が行われることがあります。

実務でのデータマイニングはお金とは切っても切り離せません。 利益に結びつく有益な情報をデータマイニングで発見するには業務の知識が必要です。

業務知識はドメインによってよって異なります。また、独習するのも難しいです。 実際に働きながら身につけるよりほかはありません。

この本のメインの読者層と思われる Web 系の人向けの本を一冊挙げるなら、私は以下の本をオススメします。

ウェブ解析士認定試験公式テキスト2019(特典PDF付き)

ウェブ解析士認定試験公式テキスト2019(特典PDF付き)

  • 作者: 守口剛,一般社団法人ウェブ解析士協会
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/12/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

まとめ

この記事ではサイバーエージェントの秋葉原ラボの方が執筆された『データマイニングエンジニアの教科書』を堀田(@YoshiHotta)がレビューし、データマイニングの学び方を解説しました。

まずは『データマイニングエンジニアの教科書』を読んでデータマイニングという広大な分野を俯瞰しましょう。次に、同書で引用している参考文献を読んだり、この記事で取り上げたオススメ書籍を読んで、データマイニングを覚えましょう!

データマイニングエンジニアの教科書

データマイニングエンジニアの教科書

  • 作者: 森下壮一郎,水上ひろき,高野雅典,數見拓朗,和田計也
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2019/06/27
  • メディア: Kindle版
  • この商品を含むブログを見る

この記事の著者をフォロー👇 記事をいいと思ったらリツイートしてね。