ISBN 9784839982805
データサイエンティストのための特徴量エンジニアリング
概要
表形式データを中心に特徴量エンジニアリングの全工程をPythonレシピで習得する
想定読者
機械学習モデルの精度改善に取り組むデータサイエンティスト・MLエンジニアで、前処理の体系的な引き出しを増やしたい人
こんな人には向いていない
- 機械学習の基礎(モデルの仕組み・学習の概念)をまだ学んでいない入門者には前提知識の壁がある
- DeepLearning系モデル(画像・音声・テキストのEnd-to-End学習)を主戦場とする人には表形式データ特化の本書は範囲が狭い
- すでにFeature-engineやCategory Encodersを実務で使いこなしている上級者には既知のレシピが多くなる
読了後にできるようになること
- 欠損値補完・カテゴリエンコーディング・変数変換・離散化・スケーリング・外れ値処理の6領域を体系的に整理して選択できる
- Feature-engine / Category Encoders / Featuretools / tsfresh を用途に応じて使い分け、パイプラインに組み込める
- 日付・時刻・時系列データから機械学習が扱える特徴量を設計・抽出する方法を実装レベルで身に付ける
- Featuretoolsを使ったリレーショナルデータからの自動特徴量生成(DFS)を実践できる
- テキストから特徴量を抽出する手法を学び、付録で日本語モデルへの適用方法も確認できる
- 70以上の再現可能なPythonレシピを通じて前処理の選択根拠と実装を同時に学べる
本書のキー概念(章解説)
- 第 1 章 欠損値を補完する — 実務で最初に直面する工程。補完戦略の選択根拠を整理するのに役立つ
- 第 2 章 カテゴリ変数をエンコーディングする — Target Encoding / Rare Label 処理など精度に直結する手法が集まる章
- 第 3 章 数値変数を変換する
- 第 4 章 変数を離散化する
- 第 5 章 外れ値を扱う
- 第 6 章 日付と時刻の変数から特徴量を抽出する
- 第 7 章 特徴量をスケーリングする
- 第 8 章 新しい特徴量を作成する — 相互作用特徴量や多項式特徴量など、モデル改善の余地を広げる手法を扱う
- 第 9 章 Featuretoolsを用いてリレーショナルデータから特徴量を抽出する — DFS(Deep Feature Synthesis)による自動生成が本章の核。手作業削減に直結する
- 第 10 章 tsfreshを使って時系列データから特徴量を作成する
- 第 11 章 テキスト変数から特徴量を抽出する
- 付録 日本語を扱う — 日本語テキストへの特徴量抽出適用例。日本語データを扱う実務者には実用価値が高い
ハイライト
- うまく設計された特徴量は、機械学習モデルの精度を大幅に向上させ、学習にかかる時間を短縮することができます。(特徴量エンジニアリングへの投資対効果を端的に示す記述。本書を手に取る動機がここに集約されている)
- Pythonを活用し、70以上の実践的なレシピにより特徴量の抽出を手軽に行います。pandas、scikit-learnに特徴量エンジニアリングライブラリであるFeature-engine、Category Encoders、Featuretools、tsfreshを利用し、新しい特徴量を変換・作成します。(ライブラリのカバレッジが広く、特定ツールに偏らないレシピ集としての独自性が出ている)
外部からの言及
- 特徴量エンジニアリング分野の網羅的な書籍として候補に挙げられている一方、Amazon評価の低さを懸念する声があり、既存の定番書(『機械学習のための特徴量エンジニアリング』)と置き換わるかが評価の焦点になっている(qiita)
編集メモ
Qiita 言及確認 1件(likes 654の記事で未読候補として挙げられ、網羅性への期待と同時にAmazon評価の低さへの懸念も記述あり)。複数記事での高評価引用は確認できず、supplementaryと判定
読む前に押さえておきたいこと
- PythonとpandasによるDataFrame操作の基礎(行列の選択・集計・結合)
- scikit-learnのPipeline・Transformer・Estimatorの基本的な使い方
- 機械学習モデル(分類・回帰)の学習・評価フローの概要理解
学習のコツ
- 1〜7章は独立性が高いため、直近の業務課題(例: カテゴリ変数が多い/欠損が多い)に対応する章から優先的に読むと即効性がある
- 9章(Featuretools)と10章(tsfresh)は専用ライブラリの学習コストが高いため、まず既存データで試す前に手前の章でパイプラインの感覚をつかんでから進むとよい
- 付録の日本語対応セクションは、英語圏で書かれた原著では扱われない日本語テキスト処理の補足であり、日本語データを扱う実務者は最初に確認する価値がある
- 各レシピはJupyter Notebookで再現することを前提にしているため、コードを手元で動かしながら読む方が定着しやすい
出版社による内容紹介
機械学習においてはモデルを作成しデータを与えて学習させますが、その前に生データをモデルが理解できるような形式に変換する「特徴量エンジニアリング」と呼ばる重要なステップがあります。データサイエンティストはモデルの学習に使用する生データを選び特徴量に変換したり、データを組み合わせ新しい特徴量を作成します。うまく設計された特徴量は、機械学習モデルの精度を大幅に向上させ、学習にかかる時間を短縮することができます。 本書は特徴量エンジニアリングの実践的なガイドであり、機械学習のための特徴量を作成するための効果的なテクニックとベストプラクティスを学ぶことができます。Pythonを活用し、70以上の実践的な"レシピ"により特徴量の抽出を手軽に行います。pandas、scikit-learnに特徴量エンジニアリングライブラリであるFeature-engine、Category Encoders、Featuretools、tsfreshを利用し、新しい特徴量を変換・作成します。 欠損データの補完、カテゴリエンコーディング、変数変換、離散化、スケーリング、外れ値の取り扱いなど表形式データに対する特徴量エンジニアリングのほぼすべてのトピックをカバー。日付と時刻、テキスト、時系列、リレーショナルデータセットから特徴量を抽出する方法についても解説。テキストからの特徴量の抽出の付録として日本語モデルでの実例も取り上げます。 1章 欠損値を補完する 2章 カテゴリ変数をエンコーディングする 3章 数値変数を変換する 4章 変数を離散化する 5章 外れ値を扱う 6章 日付と時刻の変数から特徴量を抽出する 7章 特徴量をスケーリングする 8章 新しい特徴量を作成する 9章 Featuretoolsを用いてリレーショナルデータから特徴量を抽出する 10章 tsfreshを使って時系列データから特徴量を作成する 11章 テキスト変数から特徴量を抽出する 付録 日本語を扱う Packt Publishing: Python Feature Engineering Cookbook, Second Edition の翻訳書。 1章 欠損値を補完する 2章 カテゴリ変数をエンコーディングする 3章 数値変数を変換する 4章 変数を離散化する 5章 外れ値を扱う 6章 日付と時刻の変数から特徴量を抽出する 7章 特徴量をスケーリングする 8章 新しい特徴量を作成する 9章 Featuretoolsを用いてリレーショナルデータから特徴量を抽出する 10章 tsfreshを使って時系列データから特徴量を作成する 11章 テキスト変数から特徴量を抽出する 付録 日本語を扱う
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。