内容紹介
Pythonの対話環境IPythonを使ってデータ分析を行い結果を可視化するレシピ集!
本書はPythonの対話型環境IPythonを使ってデータ分析および可視化を行うためのレシピを集めたクックブックです。IPythonではPythonの豊富な科学技術計算用のライブラリを簡単に使いこなせるため、プログラミングに必ずしも精通しているわけではない科学者やデータサイエンティストの救世主として、人気を集めています。実際のデータを分析して可視化するという作業を通して、IPythonの使い方をマスターします。
このような方におすすめ
Pythonプログラマ、データサイエンティスト、データ処理に関わるすべての人
目次
詳細目次
訳者まえがき
まえがき
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と日本語
索引
続きを見る