IPythonデータサイエンスクックブック
――対話型コンピューティングと可視化のためのレシピ集

[cover photo]
オライリー・ジャパンで書籍を購入:
定価4,104円

Ebook Storeで電子版を購入:
価格3,283 円

本書はPythonの対話型環境IPython notebookを使ってデータ分析および可視化を行うためのレシピを集めたクックブックです。Pythonは、豊富な科学技術計算用のライブラリを簡単に使いこなせるため、科学計算やデータサイエンスの分野で人気を集めています。取り上げる話題は、近年注目度の高い統計や機械学習といったデータサイエンス関連を中心に広範囲に及び、実際のデータを分析して可視化するという作業を通して、Pythonの使い方をマスターします。PythonそしてIPython notebookの可能性を体感できる一冊です。

関連書籍

Cython
Pythonからはじめる数学入門
Pythonによるデータ分析入門
Think Stats 第2版
実践 Python 3
ゼロからはじめるデータサイエンス
入門 Python 3
ハイパフォーマンス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と日本語

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]