Ponz Dev Log

ゆるくてマイペースな開発日記

Pythonによる新しいデータ分析の教科書 読了後感想

今回は自分にしては珍しいPythonの読書記事です。

データ分析と機械学習を使った予測モデル構築のお仕事をすることになり、 基礎練習として翔泳社から出版されている『Pythonによる新しいデータ分析の教科書』を読んだのでその感想になります。

Pythonによるあたらしいデータ分析の教科書 (AI&TECHNOLOGY)

Pythonによるあたらしいデータ分析の教科書 (AI&TECHNOLOGY)

ターゲット読者は誰か

この本でターゲットにしているのは、主に以下2点が当てはまる エンジニア です。

  • Pythonをある程度理解している
  • データ分析・予測モデルの作成を行いたい初学者〜中級者

「プログラミングは全くできないけど、Pythonを使えば簡単にできるかも」と安易に考えている方には向いていないです。 実行環境としてJupyter Notebookを使いながら、Pythonでガッツリとコーディングします。

何が書かれていたか

これからデータ分析・機械学習を行うエンジニアに向けて、以下4つのテーマが書かれています。

  1. エンジニアが求められている役割
  2. 分析に使う数学の基本
  3. ライブラリを使った分析・可視化・予測モデル構築
  4. データ収集と、自然言語・画像処理のためのデータ加工

内容的には学術的な部分には深入りせずに、機械学習を使った分析の各ステップに重点を置いています。 そのため、実務的にエンジニアが使うライブラリ・前処理・モデルの知識にページ数が割かれていて、Python機械学習そのものの説明はサラッと流しています。

また、機械学習の処理の手順に沿って、データの加工→可視化→モデルの構築→評価の順に章立てされているため それぞれでどのような処理が必要になるのか、手が掛かる部分はどこか、クラウドサービスを使いながらできるところはどこかと想像しながら学べます。大きな流れの中の立ち位置が明確なので、闇雲に手を動かしているという感じがしません。これはいいぞ!

章立てとともにこの本で重要なのが機械学習の手順として以下の図です。 本書10ページに掲載されているこの図は紹介されているライブラリ以外でも共通して覚えておくべきものです。

f:id:accelerk:20190813234632p:plain
機械学習の処理の手順

クラウドベンダーの提供するサービスを使うと多くの手順が省略・簡略化される傾向にありますが、自分が今どの処理に手をつけているのか、次はどの処理に進むのかを理解する助けになりますね。 機械学習の記事や用語を調べるとそれぞれのステップが個別に紹介されることが多いので、この図を見てようやく全体像を掴むことができました。

ライブラリの章では以下のものが紹介されています。どれも分析時に頻出するライブラリです。

  • データ加工
    • NumPy
    • Pandas(データ加工)
  • データ可視化
    • Matplotlib
  • モデル構築と評価
    • scikit-learn

それぞれ手を動かしながら学べるところも、理解しやすいポイントです。1章の中でそれぞれ30~40ページほどの内容なのでとっつきやすいです。 データもアヤメの有名なデータセット(Iris dataset)を使って進めていたので、個人的には楽しかった。

さらに、ここで作成したモデルはpickle形式やjoblib形式でエクスポートすればクラウドベンダーのサービスで利用することもできます。 GCPだとAI Platformでscikit-learnのモデルをトレーニング・デプロイできるので、クラウド機械学習を一緒に使う方法を学ぶこともできますね。

cloud.google.com

総じて読みやすい。全体像から詳細を順序立てて進めて理解できる良書だったと感じました。

参考

機械学習そのものの説明はサラッと流されているので、GoogleがUdemyで配信している『はじめてのAI』を視聴することをオススメします。

https://www.udemy.com/google-jp-ai/

自分自身は予測モデル構築や機械学習には一切興味が出なかった人だったので、実務的にはどんなケースがあるのか、エンジニアとしてどのように解決するのかを学ぶのには良い入り口だったと思います。