Sparkによる実践データ解析

―大規模データのための機械学習事例集

[cover photo]
TOPICS
Data Science , Database , R
発行年月日
PRINT LENGTH
330
ISBN
978-4-87311-750-8
原書
Advanced Analytics with Spark
FORMAT
Print PDF
Ebook
3,740円
Ebookを購入する
Print
3,740円

本書は、データサイエンスの4人のエキスパートがSparkでの高度な分析方法を解説するとともに、より実践的なデータサイエンスを学ぶ書籍です。ビッグデータ分析におけるSparkの位置づけを紹介し、ベストな結果を得るためのデータの準備やモデルのチューニングについて解説します。またデータクレンジングのユースケースを通じてSparkとScalaによるデータ処理の基本を学習し、Sparkを使った機械学習の基礎や応用分野における広く使われる一般的なアルゴリズムを紹介します。日本語版では付録として高柳慎一氏と牧山幸史氏による「SparkRについて」と千葉立寛氏、小野寺民也氏による「SparkのJVM、システムレベルのチューニングによる高速化」を掲載。高度なデータ解析を習得したいデータサイエンティスト必携の一冊です。

目次

目次

序文
訳者まえがき
はじめに

1章 ビッグデータの分析
    1.1 データサイエンスの挑戦
    1.2 Apache Sparkの紹介
    1.3 本書について

2章 ScalaとSparkによるデータ分析の紹介
    2.1 データサイエンティストのためのScala
    2.2 Sparkのプログラミングモデル
    2.3 レコードのリンク
    2.4 始めてみよう:SparkシェルとSparkContext
    2.5 クラスタからクライアントへのデータの転送
    2.6 クライアントからクラスタへのコードの配信
    2.7 タプルとケースクラスを使ったデータの構造化
    2.8 集計
    2.9 ヒストグラムの作成
    2.10 連続変数のための要約統計
    2.11 再利用可能な要約統計処理のコードの作成
    2.12 単純な変数の選択とスコアリング
    2.13 今後に向けて

3章 音楽のレコメンドとAudioscrobblerデータセット
    3.1 データセット
    3.2 交互最小二乗法によるレコメンデーションのアルゴリズム
    3.3 データの準備
    3.4 最初のモデルの構築
    3.5 抜き取りによるレコメンデーション
    3.6 レコメンデーションの質の評価
    3.7 AUCの計算
    3.8 ハイパーパラメータの選択
    3.9 レコメンデーションの実行
    3.10 今後に向けて

4章 決定木を使った森林被覆の予測
    4.1 回帰の解説を駆け足で
    4.2 ベクトルと特徴
    4.3 トレーニングの例
    4.4 決定木とランダムフォレスト
    4.5 Covtypeデータセット
    4.6 データの準備
    4.7 最初の決定木
    4.8 決定木のハイパーパラメータ群
    4.9 決定木のチューニング
    4.10 質的特徴再び
    4.11 ランダムフォレスト
    4.12 予測の実行
    4.13 今後に向けて

5章 K平均クラスタリングを使ったネットワークトラフィックにおける異常の検出
    5.1 異常検出
    5.2 K平均クラスタリング
    5.3 ネットワーク侵入
    5.4 KDD Cup 1999データセット
    5.5 初めてのクラスタリング
    5.6 Kの選択
    5.7 Rでの可視化
    5.8 特徴の正則化
    5.9 質的変数
    5.10 エントロピーとラベルの利用
    5.11 クラスタリングの実際
    5.12 今後に向けて

6章 潜在意味解析を使ったWikipediaの理解
    6.1 語-文書行列
    6.2 データの入手
    6.3 データのパースと準備
    6.4 レンマ化
    6.5 TF-IDFの計算
    6.6 特異値分解
    6.7 重要な概念の発見
    6.8 低次元での表現を使ったクエリとスコアリング
    6.9 語と語の関連度
    6.10 文書と文書の関連度
    6.11 語と文書の関連度
    6.12 複数語のクエリ
    6.13 今後に向けて

7章 GraphXを使った共起ネットワークの分析
    7.1 MEDLINEの引用索引 : あるネットワーク分析
    7.2 データの入手
    7.3 ScalaのXMLライブラリを使ったXMLドキュメントのパース
    7.4 MeSHの主要なトピック群とその共起の分析
    7.5 GraphXによる共起ネットワークの構築
    7.6 ネットワーク構造の理解
        7.6.1 連結成分
        7.6.2 次数分布
    7.7 ノイズのエッジのフィルタリング
        7.7.1 EdgeTripletsの処理
        7.7.2 フィルタリング後のグラフの分析
    7.8 スモールワールドネットワーク群
        7.8.1 クリークとクラスタリング係数
        7.8.2 Pregelを使った平均パス長の計算
    7.9 今後に向けて

8章 ニューヨーク市のタクシーの移動データに対する地理空間及び履歴データ分析
    8.1 データの入手
    8.2 Sparkにおける履歴及び地理空間データの処理
    8.3 JodaTimeとNScalaTimeでの時系列データ
    8.4 Esri Geometry API及びSprayでの地理空間データ
        8.4.1 Esri Geometry APIを調べる
        8.4.2 GeoJSONの紹介
    8.5 ニューヨーク市のタクシーの移動データの準備
        8.5.1 大規模な環境での不正なレコードの処理
        8.5.2 地理空間分析
    8.6 Sparkでのセッション化
        8.6.1 セッションの構築:Sparkでのセカンダリソート
    8.7 今後に向けて

9章 モンテカルロシミュレーションによる金融リスクの推定
    9.1 用語の定義
    9.2 VaRの計算の方法
        9.2.1 分散共分散法
        9.2.2 ヒストリカルシミュレーション法
        9.2.3 モンテカルロシミュレーション法
    9.3 本章のモデル
    9.4 データの入手
    9.5 前処理
    9.6 ファクター重みづけの決定
    9.7 サンプリング
        9.7.1 多変量正規分布
    9.8 試行の実施
    9.9 リターンの分布の可視化
    9.10 結果の評価
    9.11 今後に向けて

10章 ゲノムデータの分析とBDGプロジェクト
    10.1 モデルからのストレージの分離
    10.2 ADAM CLIを使ったゲノムデータの取り込み
        10.2.1 Parquetフォーマットと列指向ストレージ
    10.3 ENCODEデータからの転写因子結合部位の予測
    10.4 1000ゲノムプロジェクトからのGenotypesに対するクエリ
    10.5 今後に向けて

11章 PySparkとThunderを使った神経画像データの分析
    11.1 PySparkの概要
        11.1.1 PySparkの内部
    11.2 Thunderライブラリの概要とインストール
    11.3 Thunderでのデータのロード
        11.3.1 Thunderの中核のデータ型
    11.4 Thunderを使った神経の分類
    11.5 今後に向けて

付録A Sparkの詳細
    A.1 シリアライゼーション
    A.2 アキュムレータ
    A.3 Sparkとデータサイエンティストのワークフロー
    A.4 ファイルフォーマット
    A.5 Sparkのサブプロジェクト群
        A.5.1 MLlib
        A.5.2 Spark Streaming
    A.6 DataFrame(Spark SQL)
    A.7 GraphX

付録B MLlib Pipelines API
    B.1 単なるモデリングを超えて
    B.2 Pipelines API
    B.3 テキストの分類の例

付録C SparkRについて
    C.1 SparkRとは
    C.2 はじめてのSparkR
        C.2.1 SparkRを使用するための準備
        C.2.2 DataFrameの内容の確認
        C.2.3 SparkRによるデータ操作
    C.3 SparkRとRStudioサーバーをAWS上で使用する方法
    C.4 SparkRを活用したデータ分析(一般化線形モデル)
        C.4.1 SparkRで線形回帰分析
        C.4.2 SparkRでロジスティック回帰分析
    C.5 まとめ
    C.6 SparkRで使用できる関数一覧
        C.6.1 集約関数
        C.6.2 標準関数
        C.6.3 数学関数
        C.6.4 文字列操作関数
        C.6.5 日時操作関数
    C.7 参考

付録D SparkのJVM、OSレベルのチューニングによる高速化
    D.1 はじめに
    D.2 実験環境とベンチマークアプリケーション
    D.3 JVMレベルのチューニング
        D.3.1 ガベージコレクション(GC)
        D.3.2 JVMオプション
        D.3.3 Executor JVM 数の調整
    D.4 OSレベルのチューニング
        D.4.1 NUMA
        D.4.2 ラージページ
    D.5 まとめ

索引