いかに高度な機械学習モデルがあったとしても、その性能を左右するのは入力データが優れているかどうかです。時代とともに扱うモデルが進化したとしても、優れた入力データを構築するための特徴量エンジニアリングは常に必要な技術であり、どのような時代においても学ぶ価値があります。
本書は、一般的な特徴量エンジニアリングの手法を概説するとともに、それらの手法をいつどのように使うかについて考えるためのフレームワークを提供します。序盤の章では特徴量エンジニアリングの基本概念や基礎知識を学び、後続章では5つの実践的なケーススタディを通じて特徴量エンジニアリングの具体的手法を詳しく解説します。COVID-19の診断や再犯率のモデリングなど、実社会での活用を想定した実例を通して、自然言語処理やコンピュータービジョン、時系列分析など、さまざまな機械学習ジャンルにおけるパフォーマンス向上のためのヒントが得られます。本書の内容を学ぶことで、特徴量エンジニアリングの手法をしっかり理解し、実践へと応用することができるでしょう。
事例で学ぶ特徴量エンジニアリング
Sinan Ozdemir 著、田村 広平、大野 真一朗 監訳、砂長谷 健、土井 健、大貫 峻平、石山 将成 訳
- TOPICS
- 発行年月日
- 2023年12月
- PRINT LENGTH
- 320
- ISBN
- 978-4-8144-0054-6
- 原書
- Feature Engineering Bookcamp
- FORMAT
- Print PDF EPUB
正誤表
ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。
第1刷までの修正
2024年3月更新
■P.100 14行目
【誤】
10. STP(r) = TP + FP / (TP + FP + FP + FN) (再犯率と予測した割合)
【正】
10. STP(r) = TP + FP / (TP + TN + FP + FN) (再犯率と予測した割合)
■P.100 14行目
【誤】
10. STP(r) = TP + FP / (TP + FP + FP + FN) (再犯率と予測した割合)
【正】
10. STP(r) = TP + FP / (TP + TN + FP + FN) (再犯率と予測した割合)
目次
まえがき 訳者まえがき ノートブックについて 1章 特徴量エンジニアリング入門 1.1 特徴量エンジニアリングとは何か、なぜ重要なのか? 1.1.1 特徴量エンジニアリングは誰にとって重要か? 1.1.2 特徴量エンジニアリングにできないこと 1.1.3 優れたデータ、優れたモデル 1.2 特徴量エンジニアリングパイプライン 1.2.1 機械学習パイプライン 1.3 本書の構成 1.3.1 特徴量エンジニアリングの5つの種類 1.3.2 本書で扱うケーススタディーの概要 1.4 まとめ 2章 特徴量エンジニアリングの基本 2.1 データの種類 2.1.1 構造化データ 2.1.2 非構造化データ 2.2 4つのデータ尺度 2.2.1 質的データ vs. 量的データ 2.2.2 名義尺度 2.2.3 順序尺度 2.2.4 間隔尺度 2.2.5 比例尺度 2.3 特徴量エンジニアリングの種類 2.3.1 特徴量改善 2.3.2 特徴量作成 2.3.3 特徴量選択 2.3.4 特徴量抽出 2.3.5 特徴量学習 2.4 特徴量エンジニアリングの取り組みをどう評価するか 2.4.1 評価指標1:機械学習の評価指標 2.4.2 評価指標2:解釈可能性 2.4.3 評価指標3:公平性・バイアス 2.4.4 評価指標4:機械学習の複雑性と実行速度 2.4.5 特徴量エンジニアリングの一般的な適用方法 2.5 まとめ 3章 ヘルスケア:COVID-19の診断 3.1 COVID-19とインフルエンザの診断データセット 3.1.1 問題設定と目標の定義 3.2 探索的データ分析 3.3 特徴量改善 3.3.1 量的データの欠損値の補完 3.3.2 質的データの欠損値の補完 3.3.3 特徴量のスケーリング 3.4 特徴量作成 3.4.1 数値的な特徴量の変換 3.4.2 カテゴリーデータの作成 3.4.3 ドメイン特化型の特徴量作成 3.5 特徴量エンジニアリングパイプラインの構築 3.6 特徴量選択 3.6.1 相互情報量 3.6.2 仮説検定 3.6.3 機械学習の活用 3.7 演習の解答 3.8 まとめ 4章 バイアスと公平性:再犯のモデリング 4.1 COMPASデータセット 4.1.1 問題設定と目標の定義 4.2 探索的データ分析 4.3 バイアスと公平性の測定 4.3.1 差別的取り扱い vs. 差別的影響 4.3.2 公平性の定義 4.4 ベースラインモデルの構築 4.4.1 特徴量作成 4.4.2 ベースラインモデルのパイプラインの構築 4.4.3 ベースラインモデルにおけるバイアスの測定 4.5 バイアスの軽減 4.5.1 前処理 4.5.2 本処理 4.5.3 後処理 4.6 バイアスを考慮したモデルの構築 4.6.1 特徴量作成:Yeo-Johnson変換を用いた差別的影響への対処 4.6.2 特徴量抽出:AIF360を用いたLFR(公平性の表現学習)の実装 4.7 演習の解答 4.8 まとめ 5章 自然言語処理:ソーシャルメディアの感情分析 5.1 X(Twitter)の感情データセット 5.1.1 問題設定と目標の定義 5.2 テキストのベクトル化 5.2.1 特徴量作成:Bag-of-Words 5.2.2 回数ベクトル化 5.2.3 TF-IDFベクトル化 5.3 特徴量改善 5.3.1 テキストのノイズ除去 5.3.2 トークンの標準化 5.4 特徴量抽出 5.4.1 SVD(特異値分解) 5.5 特徴量学習 5.5.1 オートエンコーダー入門 5.5.2 オートエンコーダーによる特徴量の学習 5.5.3 転移学習入門 5.5.4 BERTによる転移学習 5.5.5 事前学習されたBER Tモデルの利用 5.6 テキストのベクトル化のまとめ 5.7 演習の解答 5.8 まとめ 6章 コンピュータービジョン:物体認識 6.1 CIFAR-10データセット 6.1.1 問題設定と目標の定義 6.2 特徴量作成:特徴量としての画素 6.3 特徴量抽出:HOG(勾配方向ヒストグラム) 6.3.1 PCAによる次元削減の最適化 6.4 特徴量学習:VGG-11 6.4.1 特徴量抽出器としての事前学習済みVGG-11の使用 6.4.2 VGG-11のファインチューニング 6.4.3 ファインチューニングしたVGG-11の特徴量のロジスティック回帰での使用 6.5 画像のベクトル化のまとめ 6.6 演習の解答 6.7 まとめ 7章 時系列分析:機械学習によるデイトレード 7.1 TWLOデータセット 7.1.1 問題設定 7.2 特徴量作成 7.2.1 日付・時刻特徴量 7.2.2 ラグ特徴量 7.2.3 ローリング特徴量とエクスパンディング特徴量 7.2.4 ドメイン固有特徴量 7.3 特徴量選択 7.3.1 機械学習を用いた特徴量選択 7.3.2 再帰的特徴量削減 7.4 特徴量抽出 7.4.1 多項式特徴量抽出 7.5 結論 7.6 演習の解答 7.7 まとめ 8章 特徴量ストア 8.1 MLOpsと特徴量ストア 8.1.1 特徴量ストアを利用する利点 8.1.2 Wikipedia、MLOps、特徴量ストア 8.2 Hopsworksでの特徴量ストアの構築 8.2.1 HSFS APIによるHopsworksへの接続 8.2.2 特徴量グループ 8.2.3 特徴量グループを使ったデータの選択 8.3 Hopsworksでの訓練データの作成 8.3.1 特徴量ビュー 8.3.2 来歴 8.4 演習の解答 8.5 まとめ 9章 まとめと展望 9.1 特徴量エンジニアリングパイプラインの再検討 9.2 重要なポイント 9.2.1 特徴量エンジニアリングはモデルの選択と同様に重要である 9.2.2 特徴量エンジニアリングは万能ではない 9.3 特徴量エンジニアリングの振り返り 9.3.1 特徴量改善 9.3.2 特徴量作成 9.3.3 特徴量選択 9.3.4 特徴量抽出 9.3.5 特徴量学習 9.4 データの種類に応じた特徴量エンジニアリング手法 9.4.1 構造化データ 9.4.2 非構造化データ 9.5 FAQ(よくある質問) 9.5.1 どのような場合にカテゴリー変数をダミー変数化すべきか? 9.5.2 データのバイアスに対処すべきかどのように判断すればよいか? 9.6 その他の特徴量エンジニアリング手法 9.6.1 カテゴリー別ダミーバケット化 9.6.2 学習した特徴量と従来の特徴量の組み合わせ 9.6.3 その他の生のデータに対するベクタライザー 9.7 理解を深めるための参考資料 9.8 まとめ 9.6 その他の特徴量エンジニアリング手法 9.6.1 カテゴリー別ダミーバケット化 9.6.2 学習した特徴量と従来の特徴量の組み合わせ 9.6.3 その他の生のデータに対するベクタライザー 9.7 理解を深めるための参考資料 9.8 まとめ 索引