いのいち勉強日記

Sakana AIでResearch Engineerをしています。京大薬学研究科でPhDをとりました。Kaggle Grandmasterです。

【書評】「前処理大全 データ分析のためのSQL/R/Python実践テクニック」データサイエンティスト必需品!

本橋智光さん著の「前処理大全 データ分析のためのSQL/R/Python実践テクニック」
一通り目を通しましたので特徴をまとめます!
 
第一の感想はこの本で勉強すると
「データサイエンスの地力がつくな」と思いました!!!
演習形式なので着実に力をつけていくことができますよ!

 

本書の流れ

 
はじめに簡単に本書の流れを説明します!
 
「ホテルの予約レコード」のデータセットを
SQL/R/Pythonを使って処理していきます。
 
目次は技術評論社のホームページから見れます。
前処理大全[データ分析のためのSQL/R/Python実践テクニック]:書籍案内|技術評論社
 
本書には4つのPartがあります。

  1. 入門前処理
  2. データ構造を対象とした前処理
  3. データ内容を対象とした前処理
  4. 実践前処理

 
さらに各パートがいくつかのチャプター・項目に分かれています。
 
基本的に学習は演習形式です。
処理する内容がはじめに説明されて、それを実装していきます!
 
ですが本書は多くの項目がまとまっているので辞書としても使えると思います。
データサイエンスする人は常にそばに置いておいきたい、そんな本です。
 
細かい特徴は次から説明していきます!
 
 

「Q」が学習効率を上げる!

 
私がこの本はすごく学習しやすいなと感じたのが、
各項目のところにある「Q」です。

 
はじめに「Q」としてどういう処理が目標なのかが示されているのです。
しかも言葉だけではなくて
実際にデータがどう処理される流れが図で示されています。
 
これは頭に入りやすかったです!
 
さらに復習もすごくしやすいと感じました。
復習するときはこの「Q」をみて実装できるかを試すのがいいと思います!
 
また「この処理なんだっけ?」となったときは
「Q」をみればどういう処理結果になるかがわかるので
辞書として使うときにも役立つと思います!

 
 

データ内容を対象とした前処理

 
4つあるパートのうちの3つ目、データ内容を対象とした前処理。
このパートがあることで実践度合いがすごく増えたなと思いました。
 
データ内容とはどういうものか、本書を引用しますと、

データ内容を対象とした前処理は、行ごとのデータ値に応じた処理です。
(中略)
日時のデータ列を月のデータ列に変換したり、
数値の列を組み合わせて計算して新たな数値列を生成したりします。

というものです。
 
それぞれの項目列ごとにする処理ですね。
 
ここではなんと文字列型も扱っており
「MeCabまで説明されてる!!」と感動していました。
さすが「大全」というだけありますね!
 

 

良いコードの書き方がわかる!

 
最後に本書ではSQLとRとPythonの3つの言語で
各前処理のコードの書き方が説明されています。
 
それぞれの言語に一長一短ありますので、
これはめちゃくちゃありがたい工夫ですね!

 
しかし!
 
この本はそれだけでは終わりません!
 
実装するコードが「Awesome」「Not Awesome」
さらに2種類に分けられています!!!
 
Awesomeが良いコードの書き方です!
 
そしてNot Awesomeなコードは
下手な書き方という意味だけではなくて
言語の不得意な書き方をしていたり、
ライブラリ/パッケージを使うと簡単に書ける

といったケースを教えてくれます!
 
Not Awesomeな書き方の方にも
ポイントがしっかり書かれていますので
どうやったらAwesomeなコードにできるか
考えながら進めるとすごく勉強になると思います。
 
 

まとめ

 
この本で「前処理」の具体的なテクニックが
演習を進めながらしっかり学べると思いました。
 
最後のパートはまるまる演習なので
実践しながら勉強していく感じが徹底されています!
 
習熟度を上げる工夫がいたるところにありますよ!
 
多くのトピックががキレイにまとまっているので
辞書としての需要もかなりあると思います!

 
あと本のデザインめっちゃかっこいいです!
それもおすすめポイントのうちの1つですよ!