本書はPythonの対話型環境IPython notebookを使ってデータ分析および可視化を行うためのレシピを集めたクックブックです。Pythonは、豊富な科学技術計算用のライブラリを簡単に使いこなせるため、科学計算やデータサイエンスの分野で人気を集めています。取り上げる話題は、近年注目度の高い統計や機械学習といったデータサイエンス関連を中心に広範囲に及び、実際のデータを分析して可視化するという作業を通して、Pythonの使い方をマスターします。PythonそしてIPython notebookの可能性を体感できる一冊です。
IPythonデータサイエンスクックブック
―対話型コンピューティングと可視化のためのレシピ集
Cyrille Rossant 著、菊池 彰 訳
- TOPICS
- クックブック , Data Science , Database , Python
- 発行年月日
- 2015年12月
- PRINT LENGTH
- 508
- ISBN
- 978-4-87311-748-5
- 原書
- IPython Interactive Computing and Visualization Cookbook
- FORMAT
関連ファイル
目次
目次 訳者まえがき まえがき 1章 IPythonによる対話的コンピューティング入門 はじめに レシピ 1.1 IPython notebook入門 レシピ 1.2はじめてのIPython探索データ分析 レシピ 1.3高速配列計算のためのNumPy多次元配列 レシピ 1.4カスタム magicコマンドによるIPython拡張の作成 レシピ 1.5 IPythonの設定システム レシピ 1.6簡単なIPythonカーネルの作成 2章 対話的コンピューティングのベストプラクティス はじめに レシピ 2.1 Python 2かPython 3かの選択 レシピ 2.2 IPythonの効果的な対話的コンピューティング作業の流れ レシピ 2.3分散型バージョン管理システム Gitの基礎 レシピ 2.4 Gitブランチを使った典型的な作業の流れ レシピ 2.5再現性を高めた実験的対話型コンピューティングを行うための10の秘訣 レシピ 2.6高品質なPythonコード レシピ 2.7 noseを使った単体テスト レシピ 2.8 IPythonを使ったデバッグ 3章 IPython notebookを使いこなす はじめに レシピ 3.1 notebookとIPython blocksを用いたプログラミング教育 レシピ 3.2 nbconvertを使ったIPython notebookから他フォーマットへの変換 レシピ 3.3 notebookツールバーにカスタムコントロールを追加 レシピ 3.4 notebookのCSSスタイルを変更する レシピ 3.5対話型ウィジェットを使う: notebookでピアノを作成 レシピ 3.6カスタム JavaScriptウィジェットの作成: pandas向け表計算型エディタ レシピ 3.7 notebookからWebカム画像をリアルタイム処理 4章 プロファイリングと最適化 はじめに レシピ 4.1 IPythonの実行時間計測 レシピ 4.2 cProfileとIPythonによる、コードプロファイル レシピ 4.3 line_profilerを使った行単位のコードプロファイル レシピ 4.4 memory_profilerを使った、メモリ使用状況のプロファイル レシピ 4.5不必要な配列コピーを排除するための、 NumPy内部構造解説 レシピ 4.6 NumPyのストライドトリック レシピ 4.7ストライドトリックを使った、移動平均の効率的計算アルゴリズム レシピ 4.8 NumPy配列要素の効率的な選択方法 レシピ 4.9メモリマップを使った巨大 NumPy配列処理 レシピ 4.10 HDF5とPyTablesによる巨大配列の操作 レシピ 4.11 HDF5とPyTablesによる巨大な異種データ混合テーブルの操作 5章 ハイパフォーマンスコンピューティング はじめに レシピ 5.1 NumbaとJust-In-Timeコンパイルを使った、純粋 Pythonコードの 高速化 レシピ 5.2 Numexprを使った配列計算の高速化 レシピ 5.3 ctypesを使ったCライブラリのラップ レシピ 5.4 Cythonによる高速化 レシピ 5.5より多くのCコードを使ったCythonコードの最適化 レシピ 5.6 CythonやOpenMPでマルチコアプロセッサの利点を生かすための GIL解放 レシピ 5.7 CUDAとNVIDIAグラフィックカード( GPU)による、高並列化コード レシピ 5.8 OpenCLによるヘテロジニアス環境での高並列化コード レシピ 5.9 IPythonによるPythonコードのマルチコア分散実行 レシピ 5.10 IPython非同期タスクの操作方法 レシピ 5.11 MPIを使ったIPythonの並列実行 レシピ 5.12 notebookとJulia言語 6章 先進的ビジュアライゼーション はじめに レシピ 6.1 prettyplotlibを使った、 matplotlib描画の見栄え改善 レシピ 6.2 seabornによる美しい統計グラフの作成 レシピ 6.3 Bokehを使ったWeb上の対話型可視化環境 レシピ 6.4 IPython notebookとD3.jsによる、 NetworkXグラフの可視化 レシピ 6.5 mpld3を使ったmatplotlib図のD3.js表示への変換 レシピ 6.6 Vispyによる高パフォーマンス対話型データ可視化 7章 統計データ解析 はじめに レシピ 7.1 pandasとmatplotlibを使った探索的データ分析 レシピ 7.2はじめての統計的仮説検定:簡単なZ検定 レシピ 7.3はじめてのベイズ法 レシピ 7.4分割表とカイ二乗検定を用いた、二変数間の相関推定 レシピ 7.5最尤法を用いたデータへの確率分布のあてはめ レシピ 7.6カーネル密度推定によるノンパラメトリックな確率密度の推定 レシピ 7.7マルコフ連鎖モンテカルロ法を使った事後分布サンプリングからのベイズ モデルあてはめ レシピ 7.8 IPython notebook上のプログラミング言語 Rによるデータ分析 8章 機械学習 はじめに レシピ 8.1はじめてのscikit-learn レシピ 8.2ロジスティック回帰を使った、タイタニック生存者の予測 レシピ 8.3 K近傍分類器を用いた手書き数字認識の学習 レシピ 8.4テキストからの学習:単純ベイズによる自然言語処理 レシピ 8.5サポートベクターマシンを使った分類 レシピ 8.6ランダムフォレストによる重要な回帰特徴量の選択 レシピ 8.7主成分分析によるデータの次元削減 レシピ 8.8データの隠れた構造を抽出するクラスタリング 9章 数値最適化 はじめに レシピ 9.1数学関数の求根 レシピ 9.2数学関数の最小化 レシピ 9.3非線形最小二乗法を使った、データへの関数あてはめ レシピ 9.4ポテンシャルエネルギー最小化による物理系の平衡状態 10章 信号処理 はじめに レシピ 10.1高速フーリエ変換による信号の周波数成分分析 レシピ 10.2デジタル信号への線形フィルタ処理 レシピ 10.3時系列の自己相関 11章 画像処理と音声処理 はじめに レシピ 11.1画像の露出補正 レシピ 11.2画像のフィルタ処理 レシピ 11.3画像の分割 レシピ 11.4特徴点の検出 レシピ 11.5 OpenCVを使った顔検出 レシピ 11.6音声へのデジタルフィルタ適用 レシピ 11.7 notebook上のシンセサイザー作成 12章 決定論的力学系 はじめに レシピ 12.1カオス力学系の分岐図作成 レシピ 12.2基本セルオートマトンのシミュレーション レシピ 12.3 SciPyを使った常微分方程式のシミュレーション レシピ 12.4偏微分方程式のシミュレーション:反応拡散系とチューリングパターン 13章 確率力学系 はじめに レシピ 13.1離散時間マルコフ連鎖のシミュレーション レシピ 13.2ポアソン過程のシミュレーション レシピ 13.3ブラウン運動のシミュレーション レシピ 13.4確率微分方程式のシミュレーション 目次 14章 グラフ、幾何学、地理情報システム はじめに レシピ 14.1 NetworkXを使ったグラフ操作と可視化 レシピ 14.2 NetworkXによる、ソーシャルネットワークの分析 レシピ 14.3トポロジカルソートを使った有向非巡回グラフの依存関係の解決 レシピ 14.4画像中の連結成分の処理 レシピ 14.5点集合に対するボロノイ図の計算 レシピ 14.6 Shapelyとbasemapによる地理情報データの操作 レシピ 14.7道路網の経路探索 15章 記号処理と数値解析 はじめに レシピ 15.1はじめてのSymPy記号処理 レシピ 15.2方程式と不等式の解 レシピ 15.3実数値関数の解析 レシピ 15.4正確確率の計算と確率変数の操作 レシピ 15.5 SymPyを使った簡単な数論 レシピ 15.6真理値表から論理命題式を生成 レシピ 15.7非線形微分系の分析:ロトカ・ヴォルテラ(捕食者と被食者)方程式 レシピ 15.8はじめてのSage 付録A 日本語の取り扱い A.1 文字列とエンコーディング A.2 IPython notebookと日本語 A.3 matplotlibと日本語 索引