コマンドラインではじめるデータサイエンス

―分析プロセスを自在に進めるテクニック

[cover photo]
TOPICS
Data Science , Database
発行年月日
PRINT LENGTH
272
ISBN
978-4-87311-741-6
原書
Data Science at the Command Line
FORMAT
PDF
Ebook
2,860円
Ebookを購入する

データ分析における一連の作業(データ収集、データクレンジング、モデリング)をコマンドラインで自由自在に進めるための考え方やツールの使い方を解説します。データの多様化、大規模化に伴い効率的にデータ分析を行う上でコマンドラインツールはかかせません。本書では、データ分析作業における各フェーズでのコマンドラインツールの使い方から、効率化のためのワークフローの管理や並列処理などまでを幅広く紹介します。
日本語版では監訳者による本書のテクニックを利用する時に壁になるであろう「日本語処理」と、実務で利用する場合の「ケーススタディ」を収録。エンジニアのみならず、データ分析に携わる全ての方に必携の一冊です。

目次

監訳者まえがき
はじめに

1章 イントロダクション
    1.1 概要
    1.2 データサイエンスはOSEMN
        1.2.1 データの獲得
        1.2.2 データのクレンジング
        1.2.3 データの精査
        1.2.4 データのモデリング
        1.2.5 データの解釈
    1.3 幕間の章
    1.4 コマンドラインとは何か
    1.5 なぜコマンドラインでデータサイエンスなのか
        1.5.1 コマンドラインはアジャイル
        1.5.2 コマンドラインは補完的
        1.5.3 コマンドラインはスケーラブル
        1.5.4 コマンドラインは拡張性が高い
        1.5.5 コマンドラインは普遍的
    1.6 現実のユースケース
    1.7 参考文献

2章 さあ始めましょう
    2.1 概要
    2.2 Data Science Toolboxのセットアップ
        2.2.1 ステップ1: VirtualBoxのダウンロード、インストール
        2.2.2 ステップ2: Vagrantのダウンロード、インストール
        2.2.3 ステップ3: Data Science Toolboxのダウンロード、起動
        2.2.4 ステップ4: ログイン(LinuxとMac OS X)
        2.2.5 ステップ4: ログイン(Microsoft Windows)
        2.2.6 ステップ5: シャットダウンと環境の作り直し
    2.3 基本概念とツール
        2.3.1 環境
        2.3.2 コマンドラインツールの実行
        2.3.3 コマンドラインツールの5つのタイプ
        2.3.4 コマンドラインツールの結合
        2.3.5 入出力のリダイレクト
        2.3.6 ファイルの操作
        2.3.7 ヘルプ
    2.4 参考文献

3章 データの獲得
    3.1 概要
    3.2 ローカルファイルからData Science Toolboxへのコピー
        3.2.1 ローカルバージョンのData Science Toolbox
        3.2.2 リモートバージョンのData Science Toolbox
    3.3 ファイルの解凍
    3.4 Microsoft Excelスプレッドシートの変換
    3.5 リレーショナルデータベースへのクエリー
    3.6 インターネットからのダウンロード
    3.7 ウェブAPI呼び出し
    3.8 参考文献

4章 再利用可能なコマンドラインツールの作り方
    4.1 概要
    4.2 1行プログラムのシェルスクリプトへの書き換え
        4.2.1 ステップ1: コピーアンドペースト
        4.2.2 ステップ2: 実行許可の追加
        4.2.3 ステップ3: shebangの定義
        4.2.4 ステップ4: 固定されている入力の除去
        4.2.5 ステップ5: パラメータ化
        4.2.6 ステップ6: PATHの拡張
    4.3 PythonとRによるコマンドラインツールの作り方
        4.3.1 シェルスクリプトの移植
        4.3.2 標準入力からのストリーミングデータの処理
    4.4 参考文献

5章 データのクレンジング
    5.1 概要
    5.2 プレーンテキストに対する一般的なクレンジング
        5.2.1 行のフィルタリング
        5.2.2 値の抽出
        5.2.3 値の置換、削除
    5.3 CSVの操作
        5.3.1 本体、ヘッダー、列
        5.3.2 CSVに対するSQLクエリー
    5.4 HTML/XMLとJSONの操作
    5.5 CSVでよく行われるクレンジング処理
        5.5.1 列の抽出と順序変更
        5.5.2 行のフィルタリング
        5.5.3 列のマージ
        5.5.4 複数のCSVファイルの結合
    5.6 参考文献

6章 データワークフローの管理
    6.1 概要
    6.2 Drakeとは何か
    6.3 Drakeのインストール方法
    6.4 Project Gutenbergでもっとも人気の高い電子ブックの取得
    6.5 ワークフローの始まりはいつもシングルステップ
    6.6 依存関係
    6.7 特定のターゲットの再ビルド
    6.8 この章を振り返って
    6.9 参考文献

7章 データの精査
    7.1 概要
    7.2 データとその特徴の調査
        7.2.1 まずはヘッダを持つか
        7.2.2 全量調査
        7.2.3 列名とデータ型
        7.2.4 一意な識別子、連続変数、因子
    7.3 記述統計の計算
        7.3.1 csvstatの使い方
        7.3.2 RioによってコマンドラインからRを実行する方法
    7.4 可視化イメージの作成
        7.4.1 GnuplotとfeedGnuplot
        7.4.2 ggplot2入門
        7.4.3 ヒストグラム
        7.4.4 棒グラフ
        7.4.5 密度プロット
        7.4.6 箱ひげ図
        7.4.7 散布図
        7.4.8 折れ線グラフ
        7.4.9 まとめ
    7.5 参考文献

8章 並列パイプライン
    8.1 概要
    8.2 逐次処理
        8.2.1 数値を対象とする反復処理
        8.2.2 行を対象とする反復処理
        8.2.3 ファイルを対象とするループ
    8.3 並列処理
        8.3.1 GNU parallel入門
        8.3.2  入力の指定
        8.3.2 並行ジョブの数の制御
        8.3.3 ロギングと出力
        8.3.4 並列ツールの作成
    8.4 分散処理
        8.4.1 実行中のAWS EC2インスタンスのリストの取得
        8.4.2 リモートマシンでのコマンドの実行
        8.4.3 リモートマシン間でのローカルデータの分散
        8.4.4 リモートマシンでのファイル処理
    8.5 この章を振り返って
    8.6 参考文献

9章 データのモデリング
    9.1 概要
    9.2 ワインもう一杯!
    9.3 Tapkeeによる次元圧縮
        9.3.1 Tapkee入門
        9.3.2 Tapkeeのインストール
        9.3.3 線形写像と非線形写像
    9.4 Wekaによるクラスタリング
        9.4.1 なぜWekaを使うのか
        9.4.2 Wekaをコマンドラインで使いやすく
        9.4.3 CSVとARFFの間の変換
        9.4.4 3つのクラスタリングアルゴリズムの比較
    9.5 SciKit-Learn Laboratoryによる回帰分析
        9.5.1 データの準備
        9.5.2 実験の実行
        9.5.3 結果の解析
    9.6 BigMLを使った分類
        9.6.1 バランスの取れた訓練、テストデータセットの作成
        9.6.2 API呼び出し
        9.6.3 結果のチェック
        9.6.4 今後の方向
    9.7 参考文献

10章 総まとめ
    10.1 復習しよう
    10.2 3つのアドバイス
        10.2.1 我慢強くあれ
        10.2.2 創造的であれ
        10.2.3 実践的であれ
    10.3 ここからどうするか
        10.3.1 シェルプログラミング
        10.3.2 Python、R、SQL
        10.3.3 データの解釈
    10.4 連絡先

付録A コマンドラインツール一覧

付録B 日本語処理
    B.1 文字コードと関係して起こりがちな問題
    B.2 文字コードを変換する
    B.3 文字コードを推測する
    B.4 Nkfをインストールする
        B.4.1 Nkfで文字コードを推定する
    B.5 パーセントエンコーディングされた文字列を復元する
    B.6 文字列を正規化する
    B.7 まとめ

付録C ケーススタディ
    C.1 ReceReco(レシレコ)について
    C.2 データの獲得
    C.3 データクレンジング(1)−異常値の除去
    C.4 データクレンジング(2)−基礎集計と外れ値の除去
    C.5 まとめ

付録D 参考文献

索引