scikit-learnを触ってて、もうちょっとpandasでの前処理やmatplotlibを勉強したいなと思って購入。
リンク
章節単位で実際にコードを書いていき、サンプルデータを使用してチュートリアル形式でpandasの扱い方とデータの解釈に対しての考え方を学ぶことが出来ます。
また、pandasでの基本操作(join, union, 欠損値, 文字列の処理, カテゴリデータの処理, など)だけではなく書籍名でもあるように以下のような"実践"的なシミュレーションを進めていきます。
- 顧客の利用動向を掴んで退会予測
- ネットワークグラフのプロット、経路最適化問題
- ネットワークグラフの伝播シミュレーション
- OpenCVでの画像解析
- MeCabでのテキスト解析と類似テキストの判別
など。
また、そこまで長いコードを書く必要もなく、書いてすぐに試せる(一部を除く)ので、理解を深める為にパラメータの値を変更したりして色々と試すこともできました。
僕の場合、SQLは中級者程度には扱え、他プログラミング言語で配列なんかも扱い慣れてはいるので、pandasの扱い自体、戸惑うことなく入っていけました。
また、記述通りに写経しても動かない場合とかはjupyterのkernel再起動したりするとうまく動く場合がある。例えば、配列に対してappend
するようなコードがある場合、コード内で配列を初期化していないと、配列のデータがどんどんメモリ上に積み上がってしまったりする。
良かった点
- 段階を追いながら、意味のある理由でpandasの操作を学ぶことができた。ただのリファレンス本と違い楽しみながら学ぶことができる。
- 一冊通すと、pandasの初心者は脱出出来たんじゃないかな(^_^)と思う。
- 数量、カテゴリの表データだけではなく画像やテキストデータの解析なんかも扱う
- グラフデータがすごく楽しかった。書籍では物流の輸送ルートとソーシャルでの口コミ伝播のシミュレーションを扱う。
イマイチな点
- 書籍中で使用するサードパーティライブラリの導入やインストールについては、「自身で調べること」と記述があり、詳しい説明はなし。僕はDocker Anacondaで環境構築したのだが、OpenCV、Dlib、 MeCabのどれも導入するのに結構ハマってしまった。OpenCVの
imshow
メソッドについては結局、Anaconda jupyter上では動作させることができず、matplotlibで代用して読み込んだファイルの確認を行った。多分、エラーを解決できない人は9章以降で挫折するんじゃないのかな...? - 結構、似たような記述が繰り返し続いたりするので飽きがきたりする。
- 8章、9章は"(計算量的に)重い処理"を学習用PCで実行するので、記述ミスなんかによるデバッグが大変。
- 8章以降は説明コードは断片的な差分のみの記載になり、全文は解像度が低い画像を確認しないといけない。僕はKindle版を購入したんだけど、書籍版だともっと辛いんじゃないかな(^_^;) これ、前章までかなり丁寧に記述されていたので、後半から担当著者が変わったんじゃないかな?と思ったほど笑
- matplotlibについては使用頻度はちょっと控え目。かな。個人的にはヒストグラムと2変数相関とかは沢山使いたい。
と、イマイチな点はありながらも、チュートリアル形式で、少量ずつプロットして楽しみながら学んでいけるので、満足度は高かったです。
リンク