IPython データサイエンスクックブックを読んだ。 ~研究でPython使ってる人にオススメ~
3章まで一通り読んだ。
プログラマーよりも研究者が対象だったので凄くタメになることが多く、需要と要求ががっちりハマった本は久しぶりでした。
Recipe 2.5-2.6が研究でコードを書く際に良いこと書いてるので、暗記するくらいに読み込みたい。
2016/02/02 追記 以下にRecipe2.5の簡単なまとめを書き残しておく。
Recipe 2.5 再現性を高める10の秘訣
- ディレクトリ構造、命名規則に一貫性を!
- gistを参照
- MarkDownやreSTを使ってマニュアル化しよう
- 重要な部分はコメントや docstringを使おう(Recipe2.6 高品質なPythonコードを参照)
- 全てのテキストファイルはGitで管理しよう(生成ファイルやバイナリファイルは除く)
- IPython Notebook から作り始めて完成したら単一のPythonファイルへ
- ソフトウェアスタックを明記する(どのpackageを使っているか、依存関係を明記)
- 実行時間の長い計算はpickelなどで途中結果を保存しておこう
- 巨大なデータセットに対してコードを構築する際には、まずは一部のデータを使い結果を検証しよう
- 並列化が可能なら検討しよう(IPython.parallel, etc..)
- Python関数やスクリプトを使って積極的に自動化を目指そう。(UNIXユーザーならUNIXコマンドの勉強を薦める)
研究向けにコード技法とあまり知見がないので嬉しい書籍です。
研究関連でのプログラミング、コーディング、データ管理に対する情報は下記の記事が分かりやすい。
メモは IPythonNotebookでとりました。 Gistでレンダリングされるの便利ですね。
良かった点
- 「データサイエンスクックブック」という題名の通り、単なるプログラミングではなく科学よりの知見が書かれた本
- 研究でPythonを使いたい人いう人向けにこの本はオススメ
- 8章「機械学習」と14章「グラフ、幾何学、地理情報システム」が面白そう
- 各種サンプルコードがGithubや nbviewerで公開されていてOSSの息吹を感じ取れるのが良い
- Packageは既知の物が多かったけど、Recipe 2.5-2.6 は良い事書いてるなと感動
- packageは便利だけど、標準モジュールを如何に使いこなすかってのも大事
最後に
過言かもしれないけど、、これからは、Git,Juptyter Notebookは研究におけるデファクトスタンダードなるなと強く感じた。 便利な世の中になってきて嬉しいかぎり。
IPythonデータサイエンスクックブック ―対話型コンピューティングと可視化のためのレシピ集
posted with amazlet at 16.02.01
Cyrille Rossant
オライリージャパン
売り上げランキング: 14,068
オライリージャパン
売り上げランキング: 14,068