内容紹介
Sparkの基本を学んだ人が、さらにSparkでデータ分析をする方法を学ぶ本!
実際の利用シーンを踏まえており、ビッグデータを活用するためのデータサイエンスについてSparkを通して学ぶことができます。分析手法の簡単な理論解説も併記してあり、前半の章は分析に詳しくエンジニアもハンズオンで学ぶことができます。またSparkをどう活かすかを学ぶだけでなく、実際のデータを利用する上でぶつかる問題をどうクリアするかまで解説されています。
このような方におすすめ
データ分析者
データ分析に関心があるエンジニア
目次
詳細目次
序文
訳者まえがき
はじめに
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 まとめ
索引
続きを見る