データサイエンスについて学びたかったので
ゼロからはじめるデータサイエンスを勉強し、2週間ほどで読了。
ざっくりとした感想と書評を書いていく。
どんな感じの本なのか
まず、目次を見ると、
1章 イントロダクション 2章 Python速習コース 3章 データの可視化 4章 線形代数 5章 統計 6章 確率 7章 仮説と推定 8章 勾配下降法 9章 データの取得 10章 データの操作 11章 機械学習 12章 k近傍法 13章 ナイーブベイズ 14章 単純な線形回帰 15章 重回帰分析 16章 ロジスティック回帰 17章 決定木 18章 ニューラルネットワーク 19章 クラスタリング 20章 自然言語処理 21章 ネットワーク分析 22章 リコメンドシステム 23章 データベースとSQL 24章 MapReduce
というような感じとなっている
他にも25章と補足の章はあるが、おまけ的な感じなので割愛させて頂く。
目次を見ても分かる通り、かなり扱う範囲は広い。
データサイエンティストとして学ぶ必要のあるものを網羅しているためだろうか。
そのため、データサイエンティストを目指す人が何を学ぶといいかはわかる。
また、題名の通り、ゼロからはじめることを主としており、
標準搭載のライブラリやNumpyなどのライブラリなどは使用するが、それ以外は基本自分で作っていくことがメインとなっている。
12章以降の話になるが、pandasやscikit-learnなどのライブラリを使わずに、そのアルゴリズムを実装して勉強していく。
良い点
・上記でも述べたが、基本ライブラリを用いず、自分でゼロから作っていくので、
データサイエンティストとして必要な知識を理解しながら勉強していくことができる。
・データサイエンスに必要な知識が数多く網羅されているのでこれ一冊で多くを学ぶことができる。
・これからデータサイエンティストとして勉強していくにあたり、参考図書や
何を勉強すれば良いか紹介してくれているので、次に何をすればよいかがわかりやすい。
悪い点
・一番重要な点であるが、本書のコードはPython2系で書かれている。
githubに3系のコードを載せてくれているため、3系の人でも問題なく学べる。
しかし、本を見ながら、コードのところはgithubのコードを見て、打ち込むというのは非常に煩わしかった。
・本書では、数多くの知識を提供してくれているが、その反面、一つ一つに対しての説明が不十分になりがちで、
数学的知識や、Pythonに対しての知識が浅いと、理解が追いつかなくなっていく。
数学的知識などに関しては、ほとんど説明がないといってもいいので、適宜勉強していく必要がある。
特に統計は勉強しなければいけないな、と強く思わされた。
総評
以上のように良い点も悪い点もある本であるといえる。
ただし、データサイエンスについての網羅的な知識を得られ、
それをゼロから作っていくので、中身をよく知らずにライブラリを使っている人などは理解が深まるのではないか。
また、データサイエンスに興味を持っている人が、コードを流しつつざっくりと読む分には良いと思う。
データサイエンスに必要な知識や、何を学べばいいかは本書に示されているので、詳しい説明を求めないのであれば、本書はおすすめできる。
個人的には、読んで良かったと思え、データサイエンスについてもっと詳しく勉強していこうと思えた。