40章特徴量エンジニアリング
前の章では、機械学習の基本的な考え方を概説しましたが、これまでの例はすべて整然とした[nサンプル, n特徴量]
形式の数値データが用意されている前提でした。現実の世界では、ほとんどのデータはそのような形で存在しません。この点を理解していれば、機械学習を実際に使用するための重要なステップの1つが、問題に関するあらゆる情報を取得し、特徴量行列(feature matrix)を構成する数値へ変換する作業であることがわかります。それを特徴量エンジニアリング(Feature Engineering)と呼びます。
この章では、特徴量エンジニアリング作業の一般的な例をいくつか紹介します。カテゴリデータを表す特徴量、テキスト、画像などを表す特徴量を扱います。さらに、モデルの複雑さに対応するために他の特徴量から導出された特徴量や、欠落したデータを補完する機能についても説明します。一般的に、このプロセスはベクトル化(vectorization)と呼ばれ、任意のデータを適切に動作するベクトルに変換します。
40.1 カテゴリ特徴量
一般的な非数値データの1つがカテゴリデータです。例えば、住宅価格に関するデータを調べている場合、「価格」や「部屋数」など数値の特徴量に加え、「地域(neighborhood)」に関する情報も付随しているとします。例えば、次のようなデータで考えてみましょう†1。
[†1] 訳注:Queen Anne(クィーンアン)、Fremont(フリーモント)、Wallingford(ウォーリングフォード)は、いずれもシアトル市の地域名。
In [1]: data = [ {'price': 850000, 'rooms': 4, 'neighborhood': ...
Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.