出版社を探す

東京大学のデータサイエンティスト育成講座

著:塚本 邦尊
著:山田 典一
著:大澤 文孝

紙版

内容紹介

本書は、2017年と2018年に東京大学で実施された「グローバル消費インテリジェンス寄付
講座」の学生向けオフライン講義と、社会人向けオンライン講座で使われた教材がベースになっています。

約400名ほどの受講枠(2年間)に、のべ1,800人以上の応募があった人気の講義です。この本のベースとなるコンテンツはJupyter Notebook形式で公開されていますが、この内容をさらに精査、ブラッシュアップし、読みやすく整えたものが本書になります。

●本書の内容

本書には、データサイエンティストになるための基礎をつめこんでいます。データサイエンティストは、Pythonや確率・統計、機械学習など、幅広くさまざまな分野の知識を必要とします。

すべての分野を1冊で学ぶことは無理ですので、各分野で深入りはせず基礎的な事項を取り扱っています。データサイエンティストになるための地図と羅針盤のような位置づけとなることをイメージしています。


この本は主にPython 3を使って、基本的なプログラムの書き方、データの取得、読み込み、そのデータ操作からはじまり、さまざまなPythonのライブラリの使い方、確率統計の手法、機械学習(教師あり学習、教師なし学習とチューニング)の使い方についても学びます。取り扱っているデータは、マーケティングに関するデータやログデータ、金融時系列データなどさまざまで、モデリングの前にそれらを加工する手法も紹介しています。データサイエンティストになるには、どれも必要なスキルです。


本書には、さらに以下の3つの特徴があります。

・実際のデータを使って手を動かしながら、データサイエンスのスキルを身に付けることができる
・データ分析の現場で使える実践的な内容(データ前処理など)が含まれている
・練習問題や総合問題演習など実際に頭を使って考える内容がたくさんある


この本に書いてあることを実践し、読み終えた後には、実際の現場でデータ分析ができるようになるはずです。


●この本の対象読者

この本は、プログラミングの経験があり、理系の大学1~2年生程度の教養課程の数学(線形代数、微分積分学、確率統計の基礎など)を終えている方を対象にしています。具体的には、勉強熱心な大学3~4年生の理系の学生さんや大学院生の方、また社会人になってデータサイエンスを学ぼうという意欲の高い方たちが対象です。データサイエンスの入門レベルから中級レベルの手前までを考えている人に最適で、本書のゴールもデータサイエンス入門レベルを卒業できることを想定しています。

目次

"Contents

Chapter 1 本書の概要とPythonの基礎
1-1 データサイエンティストの仕事
 1-1-1 データサイエンティストの仕事
 1-1-2 データ分析のプロセス
 1-1-3 本書の構成
 1-1-4 本書を読み進めるのに役立つ文献
 1-1-5 手を動かして習得しよう
1-2 Pythonの基礎
  1-2-1 Jupyter Notebookの使い方
 1-2-2 Pythonの基礎
 1-2-3 リストと辞書型
 1-2-4 条件分岐とループ
 Column format記法と%記法
 1-2-5 関数
 Practice 練習問題1-1
 Practice 練習問題1-2
 1-2-6 クラスとインスタンス
 Practice 1章 総合問題


Chapter 2 科学計算、データ加工、グラフ描画ライブラリの使い方の基礎
2-1 データ分析で使うライブラリ
 2-1-1 ライブラリの読み込み
 2-1-2 マジックコマンド
 2-1-3 この章で使うライブラリのインポート
2-2 Numpyの基礎
 2-2-1 Numpyのインポート
 2-2-2 配列操作
 2-2-3 乱数
 Column Numpyは高速
2-2-4 行列
 Practice 練習問題2-1
 練習問題2-2
 練習問題2-3
2-3 Scipyの基礎
 2-3-1 Scipyのライブラリのインポート
 2-3-2 行列計算
 2-3-3 ニュートン法
 Practice 練習問題2-4
 練習問題2-5
 練習問題2-6
2-4 Pandasの基礎
 2-4-1 Pandasのライブラリのインポート
 2-4-2 Seriesの使い方
 2-4-3 DataFrameの使い方
 2-4-4 行列操作
 2-4-5 データの抽出
 2-4-6 データの削除と結合
 2-4-7 集計
 2-4-8 値のソート
 2-4-9 nan(null)の判定
 Practice 練習問題2-7
 Practice 練習問題2-8
 Practice 練習問題2-9
2-5 Matplotlibの基礎
 2-5-1 Matplotlibを使うための準備
 2-5-2 散布図
 2-5-3 グラフの分割
 2-5-4 関数グラフの描画
 2-5-5 ヒストグラム
 Column さまざまなデータのビジュアル化
 Practice 練習問題2-10
 Practice 練習問題2-11
 Practice 練習問題2-12
 Practice 2章 総合問題


Chapter 3 記述統計と単回帰分析
3-1 統計解析の種類
 3-3-1 記述統計と推論統計
 3-3-2 この章で使うライブラリのインポート
3-2 データの読み込みと対話
 3-2-1 インターネットなどで配布されている対象データの読み込み
 3-2-2 データの読み込みと確認
 3-2-3 データの性質を確認する
 Column  「変数」という用語について
 3-2-4 量的データと質的データ
3-3 記述統計
 3-3-1 ヒストグラム
 3-3-2 平均、中央値、最頻値
 3-3-3 分散と標準偏差
 3-3-4 要約統計量とパーセンタイル値
 3-3-5 箱ひげ図
 3-3-6 変動係数
 3-3-7 散布図と相関係数
 3-3-8 すべての変数のヒストグラムや散布図を描く
 Practice 練習問題3-1
 Practice 練習問題3-2
 Practice 練習問題3-3
3-4 単回帰分析
 3-4-1 線形単回帰分析
 3-4-2 決定係数
 Practice 練習問題3-4
 Practice 練習問題3-5
 Practice 練習問題3-6
 Practice 3章 総合問題


Chapter 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 ベイズの定理
 Practice 練習問題4-1
 Practice 練習問題4-2
 Practice 練習問題4-3
4-3 確率変数と確率分布
 4-3-1 確率変数、確率関数、分布関数、期待値
 4-3-2 さまざまな分布関数
 4-3-3 カーネル密度関数
 Practice 練習問題4-4
 Practice 練習問題4-5
 Practice 練習問題4-6
4-4 応用:多次元確率分布
 4-4-1 同時確率関数と周辺確率関数
 4-4-2 条件付き確率関数と条件付き期待値
 4-4-3 独立の定義と連続分布
4-5 推計統計学
 4-5-1 大数の法則
 4-5-2 中心極限定理
 4-5-3 標本分布
 Practice 練習問題4-7
 Practice 練習問題4-8
 Practice 練習問題4-9
4-6 統計的推定
 4-6-1 推定量と点推定
 4-6-2 不偏性と一致性
 4-6-3 区間推定
 4-6-4 推定量を求める
 Practice 練習問題4-10
 Practice 練習問題4-11
 Practice 練習問題4-12
4-7 統計的検定
 4-7-1 検定
 4-7-2 第1種の過誤と第2種の過誤
 4-7-3 ビッグデータに対する検定の注意
 Practice 練習問題4-13
 Practice 4章 総合問題


Chapter 5 Pythonによる科学計算(NumpyとScipy)
5-1 概要と事前準備
 5-1-1 この章の概要
 5-1-2 この章で使うライブラリのインポート
5-2 Numpyを使った計算の応用
 5-2-1 インデックス参照
 Practice 練習問題5-1
 Practice 練習問題5-2
 Practice 練習問題5-3
5-2-2 Numpyの演算処理
 Practice 練習問題5-4
 Practice 練習問題5-5
 Practice 練習問題5-6
5-2-3 配列操作とブロードキャスト
 Practice 練習問題5-7
 Practice 練習問題5-8
 Practice 練習問題5-9
5-3 Scipyを使った計算の応用・
 5-3-1 補間
 5-3-2 線形代数:行列の分解
 Practice 練習問題5-10
 Practice 練習問題5-11
 Practice 練習問題5-12
 Practice 練習問題5-13
 Practice 練習問題5-14
 5-3-3 積分と微分方程式
 Practice 練習問題5-15
 Practice 練習問題5-16
 5-3-4 最適化
 Practice 練習問題5-17
 Practice 練習問題5-18
 Practice 5章 総合問題


Chapter 6 Pandasを使ったデータ加工処理
6-1 概要と事前準備
 6-1-1 この章で使うライブラリのインポート
6-2 Pandasの基本的なデータ操作
 6-2-1 階層型インデックス
 Practice 練習問題6-1
 Practice 練習問題6-2
 Practice 練習問題6-3
6-2-2 データの結合
 Practice 練習問題6-4
  練習問題6-5
  練習問題6-6
6-2-3 データの操作と変換
 Practice 練習問題6-7
 Practice 練習問題6-8
 Practice 練習問題6-9
6-2-4 データの集約とグループ演算
 Practice 練習問題6-10
 Practice 練習問題6-11
 Practice 練習問題6-12
6-3 欠損データと異常値の取り扱いの基礎
 6-3-1 欠損データの扱い方
 Practice 練習問題6-13
 Practice 練習問題6-14
 Practice 練習問題6-15
 6-3-2 異常データの扱い方
6-4 時系列データの取り扱いの基礎
 6-4-1 時系列データの処理と変換
 Practice 練習問題6-16
 6-4-2 移動平均
 Practice 練習問題6-17
 Practice 6章 総合問題



Chapter 7 Matplotlibを使ったデータ可視化
7-1 データの可視化
 7-1-1 データの可視化について
 7-1-2 この章で使うライブラリのインポート
7-2 データ可視化の基礎
 7-2-1 棒グラフ
 7-2-2 円グラフ
 Practice 練習問題7-1
 Practice 練習問題7-2
 Practice 練習問題7-3
7-3 応用:金融データの可視化
 7-3-1 可視化する金融データ
 7-3-2 ローソクチャートを表示するライブラリ
7-4 応用:分析結果の見せ方を考えよう
 7-4-1 資料作成のポイントについて
 Practice 7章 総合問題
 Column 移動平均時系列データと対数時系列データ


Chapter 8 機械学習の基礎(教師あり学習)
8-1 機械学習の全体像
 8-1-1 機械学習とは
 8-1-2 教師あり学習
 8-1-3 教師なし学習
 8-1-4 強化学習
 8-1-5 この章で使うライブラリのインポート
8-2 重回帰
 8-2-1 自動車価格データの取り込み
 8-2-2 データの整理
 8-2-3 モデル構築と評価
 8-2-4 モデル構築とモデル評価の流れのまとめ
 Practice 練習問題8-1
8-3 ロジスティック回帰
 8-3-1 ロジスティック回帰の例
 8-3-2 データの整理
 8-3-3 モデル構築と評価
 8-3-4 スケーリングによる予測精度の向上
 Practice 練習問題8-2
 Practice 練習問題8-3
8-4 正則化項のある回帰:ラッソ回帰、リッジ回帰
 8-4-1 ラッソ回帰、リッジ回帰の特徴
 8-4-2 重回帰とリッジ回帰の比較
 Practice 練習問題8-4
8-5 決定木
 8-5-1 キノコデータセット
 8-5-2 データの整理
 8-5-3 エントロピー:不純度の指標
 8-5-4 情報利得:分岐条件の有益さを測る
 8-5-5 決定木のモデル構築
 Practice 練習問題8-5
8-6 k-NN(k近傍法)
 8-6-1 k-NNのモデル構築
 Practice 練習問題8-6
 Practice 練習問題8-7
8-7 サポートベクターマシン
 8-7-1 サポートベクターマシンのモデル構築
 Practice 練習問題8-8
 Practice 8章 総合問題



Chapter 9 機械学習の基礎(教師なし学習)
9-1 教師なし学習
 9-1-1 教師なしモデルの種類
 9-1-2 この章で使うライブラリのインポート
9-2 クラスタリング
 9-2-1 k-means法
 9-2-2 k-means法でクラスタリングする
 9-2-3 金融マーケティングデータをクラスタリングする
 9-2-4 エルボー法によるクラスター数の推定
 9-2-5 クラスタリング結果の解釈
 9-2-6 k-means法以外の手法
 Practice 練習問題9-1
9-3 主成分分析
 9-3-1 主成分分析を試す
 9-3-2 主成分分析の実例
 Practice 練習問題9-2
9-4 マーケットバスケット分析とアソシエーションルール
 9-4-1 マーケットバスケット分析とは
 9-4-2 マーケットバスケット分析のためのサンプルデータを読み込む
 9-4-3 アソシエーションルール
 Practice 9章 総合問題


Chapter 10 モデルの検証方法とチューニング方法
10-1 モデルの評価と精度を上げる方法とは
 10-1-1 機械学習の課題とアプローチ
 10-1-2 この章で使うライブラリのインポート
10-2 モデルの評価とパフォーマンスチューニング
 10-2-1 ホールドアウト法と交差検証法
 10-2-2 パフォーマンスチューニング:ハイパーパラメータチューニング
 Practice 練習問題10-1
 Practice 練習問題10-2
 10-2-3 パフォーマンスチューニング:特徴量の扱い
 10-2-4 モデルの種類
 10-3 モデルの評価指標
 10-3-1 分類モデルの評価:混同行列と関連指標
 10-3-2 分類モデルの評価:ROC曲線とAUC
 Practice 練習問題10-3
 10-3-3 回帰モデルの評価指標
 Practice 練習問題10-4
10-4 アンサンブル学習
 10-4-1 バギング
 Practice 練習問題10-5
 10-4-2 ブースティング
 10-4-3 ランダムフォレスト、勾配ブースティング
 Practice 練習問題10-6
 10-4-4 今後の学習に向けて
 Practice 練習問題10-7
 Practice 10 章 総合問題



Chapter 11 総合演習問題
11-1 総合演習問題
 11-1-1 総合演習問題(1)
 11-1-2 総合演習問題(2)
 11-1-3 総合演習問題(3)
 11-1-4 総合演習問題(4)
 11-1-5 総合演習問題(5)
 11-1-6 総合演習問題(6)
 11-1-7 参考:今後のデータ分析に向けて


Appendix
A-1 本書の環境構築について
 A-1-1 Anacondaについて
 A-1-2 Anacondaのパッケージをダウンロードする
 A-1-3 Anacondaをインストールする
 A-1-4 pandas-datareaderおよびPlotlyのインストール
A-2 練習問題解答
 A-2-1 Chapter1 練習問題
 A-2-2 Chapter2 練習問題
 A-2-3 Chapter3 練習問題
 A-2-4 Chapter4 練習問題
 A-2-5 Chapter5 練習問題
 A-2-6 Chapter6 練習問題
 A-2-7 Chapter7 練習問題
 A-2-8 Chapter8 練習問題
 A-2-9 Chapter9 練習問題
 A-2-10 Chapter10 練習問題
 A-2-11 Chapter11 総合演習問題
 Column ダミー変数と多重共線性
A-3 参考文献・参考URL
 A-3-1 参考文献
 A-3-2 参考URL

著者略歴

著:塚本 邦尊
現職は某金融機関の研究開発部門にて、分析環境構築からデータ前処理自動化、分析、アルゴリズム開発と実装、取引実弾とその検証、定型レポーティング作成などを担当。学生時代の専攻は数学で、今まで携わってきた業界は、システム会社、広告代理店、マーケティング、コンサルティング企業等。取り扱ってきた開発ツールはVisualStudio、RStudio、JupyterNotebookなどで、C#やSQL、VBA、RやPython、シェル、SASなどを使ってきました。最近はFPGAがらみのプロジェクトに関わることが多く、ハードウェア面(FPGA、Verilog、Vivadoなど)やネットワーク面(WireSharkなど)からも少しずつ学び、AWSなどクラウド環境も日々扱っています。最近時間があるときは、ラズベリーパイを使ってロボティクスについて学んだり、色々な本を読んでいます。

ISBN:9784839965259
出版社:マイナビ出版
判型:B5変
ページ数:448ページ
定価:2980円(本体)
発行年月日:2019年03月
発売日:2019年03月12日
国際分類コード【Thema(シーマ)】 1:UB