ゼロからはじめるデータサイエンス 第2版

Pythonで学ぶ基本と実践

3,740円
Ebook Storeで電子版を購入:
価格3,740円
カートに入れる

内容

本書はPythonプログラミングを通してデータサイエンスの基本知識を「ゼロから学ぶ」ことができる入門書です。読者は架空のソーシャルネットワーク運営企業、データサイエンス・スター社のデータサイエンティストとして、さまざまな課題を解決しながら、必要な知識とスキルを着実に積み上げていきます。第1版の発刊から5年。その間、データサイエンスへの注目はますます高まり、Pythonはバージョンアップが進み、ライブラリは一層充実しました。このような変化に伴い、内容を全面的にアップデート。Pythonプログラミングの基礎から線形代数、統計確率の基礎、回帰、機械学習、ナイーブベイズ、決定木、ニューラルネットワーク、ディープラーニング、自然言語処理、ネットワーク分析、リコメンドシステム、データベースとSQL、MapReduce、データ倫理まで、データサイエンスに必要な幅広い知識をカバーします。

関連書籍

目次

訳者まえがき
第2版のまえがき
第1版のまえがき

1章 イントロダクション
    1.1 データに支配された世界
    1.2 データサイエンスとは
    1.3 仮想事例:データサイエンス・スター社にて
        1.3.1 キーコネクタを探せ
        1.3.2 知り合いかも?
        1.3.3 給与と経験値
        1.3.4 有料アカウント
        1.3.5 興味に関するあれこれ
        1.3.6 明日以降に向けて

2章 Python速習コース
    2.1 Zen of Python
    2.2 Pythonの入手
    2.3 仮想環境
    2.4 空白によるフォーマット
    2.5 モジュール
    2.6 関数
    2.7 文字列
    2.8 例外
    2.9 リスト
    2.10 タプル
    2.11 辞書
        2.11.1 defaultdict クラス
    2.12 Counter クラス
    2.13 集合
    2.14 実行順制御
    2.15 真偽
    2.16 ソート
    2.17 リスト内包表記
    2.18 自動テストとアサート
    2.19 オブジェクト指向プログラミング
    2.20 イテレータとジェネレータ
    2.21 乱数
    2.22 正規表現
    2.23 関数型プログラミング
    2.24 zipと引数展開
    2.25 args とkwargs
    2.26 型アノテーション
        2.26.1 型アノテーションの書き方
    2.27 データサイエンス・スター社へようこそ!
    2.28 さらなる探求のために

3章 データの可視化
    3.1 matplotlib
    3.2 棒グラフ
    3.3 折れ線グラフ
    3.4 散布図
    3.5 さらなる探求のために

4章 線形代数
    4.1 ベクトル
    4.2 行列
    4.3 さらなる探求のために

5章 統計
    5.1 データの特徴を表す
        5.1.1 代表値
        5.1.2 散らばり
    5.2 相関
    5.3 シンプソンのパラドクス
    5.4 その他相関係数についての注意点
    5.5 相関関係と因果関係
    5.6 さらなる探求のために

6章 確率
    6.1 従属と独立
    6.2 条件付き確率
    6.3 ベイズの定理
    6.4 確率変数
    6.5 連続確率分布
    6.6 正規分布
    6.7 中心極限定理
    6.8 さらなる探求のために

7章 仮説と推定
    7.1 統計的仮説検定
    7.2 事例:コイン投げ
    7.3 p値
    7.4 信頼区間
    7.5 pハッキング
    7.6 事例:A/Bテストの実施
    7.7 ベイズ推定
    7.8 さらなる探求のために

8章 勾配降下法
    8.1 勾配降下法の考え方
    8.2 勾配の評価
    8.3 勾配を利用する
    8.4 最善の移動量を選択する
    8.5 勾配降下法を使用してモデルを適合させる
    8.6 ミニバッチと確率的勾配降下法
    8.7 さらなる探求のために

9章 データの取得
    9.1 stdin とstdout
    9.2 ファイルの読み込み
        9.2.1 テキストファイルの基礎
        9.2.2 区切り文字を使ったファイル
    9.3 Webスクレイピング
        9.3.1 HTMLとその解析
        9.3.2 事例:議会の行動に目を光らせる
    9.4 API を使う
        9.4.1 JSONとXML
        9.4.2 認証が不要なAPIを使う
        9.4.3 必要なAPIの探索
    9.5 事例:Twitter API
        9.5.1 認証の取得
    9.6 さらなる探求のために

10章 データの操作
    10.1 データの調査
        10.1.1 1次元データの調査
        10.1.2 2次元データ
        10.1.3 多次元データ
    10.2 名前付きタプル(NamedTuple)の利用
    10.3 データクラス(Dataclass)
    10.4 データの整理と変換
    10.5 データの操作
    10.6 スケールの変更
    10.7 余談:tqdm
    10.8 次元削減
    10.9 さらなる探求のために

11章 機械学習
    11.1 モデリング
    11.2 機械学習とは?
    11.3 過学習と未学習
    11.4 正確さ
    11.5 バイアス-バリアンス トレードオフ
    11.6 特徴抽出と特徴選択
    11.7 さらなる探求のために

12章 k近傍法
    12.1 モデル
    12.2 事例:Irisデータセット
    12.3 次元の呪い
    12.4 さらなる探求のために

13章 ナイーブベイズ
    13.1 非常に単純なスパムフィルタ
    13.2 より高度なスパムフィルタ
    13.3 実装
    13.4 モデルの検証
    13.5 モデルの適用
    13.6 さらなる探求のために

14章 単純な線形回帰
    14.1 モデル
    14.2 勾配降下法
    14.3 最尤推定
    14.4 さらなる探求のために

15章 重回帰分析
    15.1 モデル
    15.2 最小二乗モデルへの追加前提
    15.3 モデルの適合
    15.4 モデルの解釈
    15.5 適合度
    15.6 余談:ブートストラップ
    15.7 回帰係数の標準誤差
    15.8 正則化
    15.9 さらなる探求のために

16章 ロジスティック回帰
    16.1 問題
    16.2 ロジスティック関数
    16.3 モデルの適用
    16.4 適合度
    16.5 サポートベクタマシン
    16.6 さらなる研究のために

17章 決定木
    17.1 決定木とは
    17.2 平均情報量(エントロピー)
    17.3 分割のエントロピー
    17.4 決定木の生成
    17.5 ひとつにまとめる
    17.6 ランダムフォレスト
    17.7 さらなる探求のために

18章 ニューラルネットワーク
    18.1 パーセプトロン
    18.2 フィードフォワードニューラルネットワーク
    18.3 逆伝播誤差法(バックプロパゲーション)
    18.4 事例:Fizz Buzz
    18.5 さらなる探求のために

19章 ディープラーニング
    19.1 テンソル(Tensor)
    19.2 層の抽象化
    19.3 線形層
    19.4 層のシーケンスで表現するニューラルネットワーク
    19.5 損失の最適化
    19.6 事例:修正版XOR
    19.7 その他の活性化関数
    19.8 事例:修正版Fizz Buzz
    19.9 ソフトマックスと交差エントロピー
    19.10 ドロップアウト(Dropout)
    19.11 事例:MNIST
    19.12 モデルの保存と読み込み
    19.13 さらなる探求のために

20章 クラスタリング
    20.1 考え方
    20.2 モデル
    20.3 事例:交流会
    20.4 kの選択
    20.5 事例:色のクラスタリング
    20.6 凝集型階層的クラスタリング
    20.7 さらなる探求のために

21章 自然言語処理
    21.1 ワードクラウド
    21.2 n-gramモデル
    21.3 文法
    21.4 余談:ギブスサンプリング
    21.5 トピックモデリング
    21.6 ワードベクトル
    21.7 リカレントニューラルネットワーク
    21.8 事例:文字単位のRNN
    21.9 さらなる探求のために

22章 ネットワーク分析
    22.1 媒介中心性
    22.2 固有ベクトル中心性
        22.2.1 行列乗算
        22.2.2 中心性
    22.3 有向グラフとページランク
    22.4 さらなる探求のために

23章 リコメンドシステム
    23.1 手作業によるキュレーション
    23.2 人気の高いものをお勧めする
    23.3 ユーザベース協調フィルタリング
    23.4 アイテムベース協調フィルタリング
    23.5 行列分解
    23.6 さらなる探求のために

24章 データベースとSQL
    24.1 表の作成(CLEATE TABLE)と行の追加(INSERT)
    24.2 行の更新(UPDATE)
    24.3 行の削除(DELETE)
    24.4 行の問い合わせ(SELECT)
    24.5 グループ化(GROUP BY)
    24.6 並び替え(ORDER BY)
    24.7 結合(JOIN)
    24.8 サブクエリ
    24.9 インデックス
    24.10 クエリ最適化
    24.11 NoSQL
    24.12 さらなる探求のために

25章 MapReduce
    25.1 事例:単語のカウント
    25.2 MapReduceを使う理由
    25.3 一般的なMapReduce
    25.4 事例:近況更新の分析
    25.5 事例:行列乗算
    25.6 余談:コンバイナ
    25.7 さらなる探求のために

26章 データ倫理
    26.1 データ倫理とは
    26.2 実際のところデータ倫理とは何なのか
    26.3 データ倫理を考慮する必要はあるか
    26.4 データ問題を引き起こした製品
    26.5 精度と公平性のトレードオフ
    26.6 対敵協力
    26.7 解釈可能性
    26.8 リコメデーション
    26.9 偏ったデータ
    26.10 データ保護
    26.11 まとめ
    26.12 さらなる探求のために

27章 前進しよう、データサイエンティストとして
    27.1 IPython
    27.2 数学
    27.3 既存のライブラリを活用する
        27.3.1 NumPy
        27.3.2 pandas
        27.3.3 scikit-learn
        27.3.4 可視化
        27.3.5 R
        27.3.6 ディープラーニング
    27.4 データの供給源
    27.5 データサイエンスを活用しよう
        27.5.1 Hacker News記事分類器
        27.5.2 消防車ランク
        27.5.3 固有Tシャツ
        27.5.4 ツイート地球儀
        27.5.5 データサイエンスを使って何をしますか?

付録A 日本語に関する補足
    A.1 和文対応のtokenize関数

索引

正誤表