プログラミング備忘録

プログラミングでやったことを書いていきます。Python,機械学習など

ゼロからはじめるデータサイエンス 読了

データサイエンスについて学びたかったので
ゼロからはじめるデータサイエンスを勉強し、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に対しての知識が浅いと、理解が追いつかなくなっていく。
数学的知識などに関しては、ほとんど説明がないといってもいいので、適宜勉強していく必要がある。
特に統計は勉強しなければいけないな、と強く思わされた。

総評

以上のように良い点も悪い点もある本であるといえる。
ただし、データサイエンスについての網羅的な知識を得られ、
それをゼロから作っていくので、中身をよく知らずにライブラリを使っている人などは理解が深まるのではないか。
また、データサイエンスに興味を持っている人が、コードを流しつつざっくりと読む分には良いと思う。
データサイエンスに必要な知識や、何を学べばいいかは本書に示されているので、詳しい説明を求めないのであれば、本書はおすすめできる。
個人的には、読んで良かったと思え、データサイエンスについてもっと詳しく勉強していこうと思えた。