Pythonではじめる機械学習――scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
参加者
- 桐本 宙輝
- 積田 祥宜
- 上野 高士
- 久保 侑哉
- 小池 佳輝
- 勝辺 尚樹
- 久野井 拓
- 坂本 崚太郎
- 髙木 涼太
- 小林 和央
- 奈須 日向太
- 野﨑 崇弘
目次
目次
まえがき
1章 はじめに (25) [久野井]
1.1 なぜ機械学習なのか?
1.1.1 機械学習問題へのアプローチ械学習で解決可能な問題
1.1.2 タスクを知り、データを知る
1.2 なぜ Pythonなのか?
1.3 scikit-learn
1.3.1 scikit-learnのインストール
1.4 必要なライブラリとツール
1.4.1 Jupyter Notebook
1.4.2 NumPy
1.4.3 SciPy
1.4.4 matplotlib
1.4.5 pandas
1.4.6 mglearn
1.5 Python 2 vs. Python 3
1.6 本書で用いているバージョン
1.7 最初のアプリケーション:アイリスのクラス分類
1.7.1 データを読む
1.7.2 成功度合いの測定:訓練データとテストデータ
1.7.3 最初にすべきこと:データをよく観察する
1.7.4 最初のモデル: k-最近傍法
1.7.5 予測を行う
1.7.6 モデルの評価
1.8 まとめと今後の展望
2章 教師あり学習 (19/100) [奈須]
2.1 クラス分類と回帰
2.2 汎化、過剰適合、適合不足
2.2.1 モデルの複雑さとデータセットの大きさ
2.3 教師あり機械学習アルゴリズム
2.3.1 サンプルデータセット
2.3.2 k-最近傍法
2.3.3 線形モデル (22) [野﨑]
2.3.4 ナイーブベイズクラス分類器 (34) [勝辺]
2.3.5 決定木
2.3.6 決定木のアンサンブル法
2.3.7 カーネル法を用いたサポートベクタマシン
2.3.8 ニューラルネットワーク(ディープラーニング) (24) [小池]
2.4 クラス分類器の不確実性推定
2.4.1 決定関数( Decision Function)
2.4.2 確率の予測
2.4.3 多クラス分類の不確実性
2.5 まとめと展望
3章 教師なし学習と前処理 (24/78) [坂本]
3.1 教師なし学習の種類
3.2 教師なし学習の難しさ
3.3 前処理とスケール変換
3.3.1 さまざまな前処理
3.3.2 データ変換の適用
3.3.3 訓練データとテストデータを同じように変換する
3.3.4 教師あり学習における前処理の効果
3.4 次元削減、特徴量抽出、多様体学習
3.4.1 主成分分析( PCA)
3.4.2 非負値行列因子分解(NMF) (25) [小林]
3.4.3 t-SNEを用いた多様体学習
3.5 クラスタリング
3.5.1 k-meansクラスタリング
3.5.2 凝集型クラスタリング (28) [積田]
3.5.3 DBSCAN
3.5.4 クラスタリングアルゴリズムの比較と評価
3.5.5 クラスタリング手法のまとめ
3.6 まとめと展望
4章 データの表現と特徴量エンジニアリング (21/40) [髙木]
4.1 カテゴリ変数
4.1.1 ワンホットエンコーディング(ダミー変数)
4.1.2 数値でエンコードされているカテゴリ
4.2 ビニング、離散化、線形モデル、決定木
4.3 交互作用と多項式
4.4 単変量非線形変換 (20) [上野]
4.5 自動特徴量選択
4.5.1 単変量統計
4.5.2 モデルベース特徴量選択
4.5.3 反復特徴量選択
4.6 専門家知識の利用
4.7 まとめと展望
5章 モデルの評価と改良 (24/53) [桐本]
5.1 交差検証
5.1.1 scikit-learnでの交差検証
5.1.2 交差検証の利点
5.1.3 層化 k分割交差検証と他の戦略
5.2 グリッドサーチ
5.2.1 単純なグリッドサーチ
5.2.2 パラメータの過剰適合の危険性と検証セット
5.2.3 交差検証を用いたグリッドサーチ
5.3 評価基準とスコア (29) [小池]
5.3.1 最終的な目標を見失わないこと
5.3.2 2クラス分類における基準
5.3.3 多クラス分類の基準
5.3.4 回帰の基準
5.3.5 評価基準を用いたモデル選択
5.4 まとめと展望
6章 アルゴリズムチェーンとパイプライン (18) [なし]
6.1 前処理を行う際のパラメータ選択
6.2 パイプラインの構築
6.3 パイプラインを用いたグリッドサーチ
6.4 汎用パイプラインインターフェイス
6.4.1 make_pipelineによる簡便なパイプライン生成
6.4.2 ステップ属性へのアクセス
6.4.3 GridSearchCV内のパイプラインの属性へのアクセス
6.5 前処理ステップとモデルパラメータに対するグリッドサーチ
6.6 グリッドサーチによるモデルの選択
6.7 まとめと展望
7章 テキストデータの処理 (35) [久保]
7.1 文字列として表現されているデータのタイプ
7.2 例題アプリケーション:映画レビューのセンチメント分析
7.3 Bag of Wordsによるテキスト表現
7.3.1 トイデータセットに対する BoW
7.3.2 映画レビューの BoW
7.4 ストップワード
7.5 tf.idfを用いたデータのスケール変換
7.6 モデル係数の調査
7.7 1単語よりも大きい単位の Bag-of-Words (n-グラム )
7.8 より進んだトークン分割、語幹処理、見出し語化
7.9 トピックモデリングと文書クラスタリング
7.9.1 LDA(Latent Dirichlet Allocation)
7.10 まとめと展望
8章 おわりに (11) [教員]
8.1 機械学習問題へのアプローチ
8.1.1 人間をループに組み込む
8.2 プロトタイプから運用システムへ
8.3 運用システムのテスト
8.4 独自 Estimatorの構築
8.5 ここからどこへ行くのか
8.5.1 理論
8.5.2 他の機械学習フレームワークとパッケージ
8.5.3 ランキング、推薦システム、その他の学習
8.5.4 確率モデル、推論、確率プログラミング
8.5.5 ニューラルネットワーク
8.5.6 大規模データセットへのスケール
8.5.7 名誉を得る
8.6 結論
索引
スケジュール(予定)
- 10月17日(月)
- 10月24日(月)
- 10月30日(月)
- 11月6日(月)
- 11月13日(月)
- 11月22日(水)
- 11月27日(月)
- 12月4日(月)
- 11月11日(月)
- 11月18日(月)
- 11月25日(月)
- 1月15日(月)
- 1月22日(月)
- 1月29日(月)
参考資料
風間 一洋