書籍概要

RPythonで学ぶ[実践的]データサイエンス&機械学習

著者
発売日
更新日

概要

本書は野村総合研究所のシステムコンサルティング事業本部で実施している「アナリティクス研修」をベースにした書籍で,「統計的なモデリングとは何か?」「モデルに基づく要因の分析と予測の違いとは?」「具体的なモデルの作り方」「結果を解釈する際の落とし穴の見分け方」など,ビジネスの現場感を重視した構成です。実務で遭遇するデータ品質や加工のポイント,さらにRとPythonを利用し,データからモデルを作成して結果を得るという基本的な手順を体験できます。これからデータ分析や統計解析,機械学習を学び,現場でそれらを活用したい方に最短学習コースでお届けします。

こんな方におすすめ

  • データ分析・統計解析や機械学習について知りたい方
  • データサイエンティストになりたい方

目次

第1章 データサイエンス入門

  • 1.1 データサイエンスの基本
    • 1.1.1 データサイエンスの重要性
    • 1.1.2 データサイエンスの定義とその歴史
    • 1.1.3 データサイエンスにおけるモデリング
    • 1.1.4 データサイエンスとその関連領域
  • 1.2 データサイエンスの実践
    • 1.2.1 データサイエンスのプロセスとタスク
    • 1.2.2 データサイエンスの実践に必要なツール
    • 1.2.3 データサイエンスの実践に必要なスキル
    • 1.2.4 データサイエンスの限界と課題
  • コラム ビジネス活用における留意点

第2章 RとPython

  • 2.1 RとPython
    • 2.1.1 RとPythonの比較
  • 2.2 R入門
    • 2.2.1 Rの概要
    • 2.2.2 Rの文法
    • 2.2.3 データ構造と制御構造
  • 2.3 Python入門
    • 2.3.1 Pythonの概要
    • 2.3.2 Pythonの文法
    • 2.3.3 Pythonでのプログラミング
    • 2.3.4 NumPyとpandas
  • 2.4 RとPythonの実行例の比較
    • 2.4.1 簡単な分析の実行例

第3章 データ分析と基本的なモデリング

  • 3.1 データの特徴を捉える
    • 3.1.1 分布の形を捉える ─ ビジュアルでの確認
    • 3.1.2 要約統計量を算出する ─ 代表値とばらつき
    • 3.1.3 関連性を把握する ─ 相関係数の使い方と意味
    • 3.1.4 Rを使った相関分析 ─ 自治体のデータを使った例
    • 3.1.5 さまざまな統計分析 ─ 理論と実際の考え方
  • 3.2 データからモデルを作る
    • 3.2.1 目的変数と説明変数 ─ 説明と予測の「向き」
    • 3.2.2 簡単な線形回帰モデル ─ Rによる実行と結果
    • 3.2.3 ダミー変数を使ったモデル ─ グループ間の差異を分析
    • 3.2.4 複雑な線形回帰モデル ─ 交互作用,モデル間の比較
    • 3.2.5 線形回帰の仕組みと最小二乗法
  • 3.3 モデルを評価する
    • 3.3.1 モデルを評価するための観点
    • 3.3.2 この結果は偶然ではないのか? ─ 有意確率と有意差検定
    • 3.3.3 モデルはデータに当てはまっているか? ─ フィッティングと決定係数
    • 3.3.4 モデルは複雑すぎないか? ─ オーバーフィッティングと予測精度
    • 3.3.5 残差の分布 ─ 線形回帰モデルと診断プロット
    • 3.3.6 説明変数同士の相関 ─ 多重共線性
    • 3.3.7 標準偏回帰係数

第4章 実践的なモデリング

  • 4.1 モデリングの準備
    • 4.1.1 データの準備と加工
    • 4.1.2 分析とモデリングの手法
  • 4.2 データの加工
    • 4.2.1 データのクレンジング
    • 4.2.2 カテゴリ変数の加工
    • 4.2.3 数値変数の加工とスケーリング
    • 4.2.4 分布の形を変える ─ 対数変換とロジット変換
    • 4.2.5 欠損値の処理
    • 4.2.6 外れ値の処理
  • 4.3 モデリングの手法
    • 4.3.1 グループに分ける ─ クラスタリング
    • 4.3.2 指標を集約する ─ 因子分析と主成分分析
    • 4.3.3 一般化線形モデル
    • 4.3.4 2値データを目的変数とする分析 ─ ロジスティック回帰
    • 4.3.5 セグメントの抽出とその特徴の分析 ─ 決定木
  • 4.4 因果推論
    • 4.4.1 データから因果関係を明らかにする ─ 統計的因果推論
    • 4.4.2 因果関係に基づく変数選択

第5章 機械学習とディープラーニング

  • 5.1 機械学習の目的と手順
    • 5.1.1 機械学習の基本
    • 5.1.2 機械学習の手順
    • 5.1.3 データの準備に関わる問題
    • 5.1.4 特徴抽出と特徴ベクトル
  • コラム 機械学習と強化学習
  • 5.2 機械学習の実行
    • 5.2.1 機械学習ライブラリの活用 ─ scikit-learn
    • 5.2.2 機械学習アルゴリズムの例 ─ ランダムフォレスト
    • 5.2.3 機械学習アルゴリズムの例 ─ サポートベクターマシン
    • 5.2.4 機械学習の実行例
  • 5.3 ディープラーニング
    • 5.3.1 ニューラルネットワーク
    • 5.3.2 ディープラーニングを支える技術
    • 5.3.3 ディープラーニング・フレームワーク
    • 5.3.4 ディープラーニングの実行
    • 5.3.5 生成モデル

サポート

ダウンロード

付録記事のダウンロード

本書をご購入いただいた方は,次の特別記事をダウンロードしてお読みいただけます。

  • Anacondaのインストール
  • RとRStudioのインストール
  • RStudioの使い方
  • Jupyter Notebookの使い方
  • Anacondaでのライブラリ追加方法

ご購入の証明として,以下の場所に記載された文字列をご入力のうえ,ダウンロード後に解凍してご利用ください。

ExtraIssue20190325.zip(4MB)

サンプルソースのダウンロード

本書のサンプルソースがダウンロードできます。

ダウンロード
sample.zip(約300KB)

解凍すると章ごとフォルダにサンプルが配置されています。

補足情報

(2019年3月26日更新)

図3.15(P.129)のプロットをWindows環境で描画すると文字化けが生じる場合があります。その場合,リスト3.3「3.1.04.Correlation.R」(P.124)の関数qgrah()内の引数に次の1行を挿入してください(P.125の下から10行目に相当する箇所/#③相関係数のグラフ表示内)。


labels=colnames(COR), #ラベルを省略せずに表示

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年4月2日最終更新)

P.xiii 上から2行目

(2) 一般線形モデル(GLM)
(2) 一般線形モデル(GLM)

P.302 下から3行目(見出し)

(2) 一般線形モデル(GLM)
(2) 一般線形モデル(GLM)

(以下2019年3月26日更新)

P.115 リスト3.2(3.1.02.Summarize.R)の6行目


stringsAsFactors = FALSE), #文字列を文字列型で取り込む


stringsAsFactors = FALSE) #文字列を文字列型で取り込む

P.154 リスト3.6(3.2.04.ModelComparison.R)の9行目


stringsAsFactors = FALSE, #文字列を文字列型で取り込む


stringsAsFactors = FALSE) #文字列を文字列型で取り込む

P.167 リスト3.7(3.2.05.TwoRegression.R)の9行目


stringsAsFactors = FALSE, #文字列を文字列型で取り込む


stringsAsFactors = FALSE) #文字列を文字列型で取り込む

P.209 リスト3.13(3.3.07.MultiColinearity.R 続き)の22行目


stringsAsFactors = FALSE, #文字列を文字列型で取り込む


stringsAsFactors = FALSE) #文字列を文字列型で取り込む

P.215 リスト3.14(3.4.01.StadardizedRegression.R 続き)の29行目


#目的変数の分散(不偏分散)


#目的変数の標準偏差

P.215 リスト3.14(3.4.01.StadardizedRegression.R 続き)の31行目


#説明変数の分散(不偏分散)


#説明変数の標準偏差

P.215 リスト3.14(3.4.01.StadardizedRegression.R 続き)の36行目


#  偏回帰係数*説明変数の不偏分散/目的変数の不偏分散


#  偏回帰係数*説明変数の標準偏差目的変数の標準偏差

P.237 リスト4.1(4.2.03.Scaling.R)の7行目


sd(x)  #標準偏差(不偏標準偏差)


sd(x)  #標準偏差(不偏分散の平方根

P.260 リスト4.5(4.2.06.Outlier.R 続き)の21行目


#lof値が2を超えてかどうかをTRUE/FALSEで配列化


#lof値が2を超えているかどうかをTRUE/FALSEで配列化

商品一覧