2章数値データの取り扱い

テキストや画像のような複雑なデータに取り組む前に、最も扱いやすい数値データから始めましょう。機械学習プロジェクトにおいて、生データとして数値が得られる状況はいくつも考えられます。例えば、人や場所の位置情報、商品の価格、センサーの測定値、交通量などです。数値データはそのままでも機械学習モデルに入力として渡すことができますが、特徴量エンジニアリングが不要というわけではありません。良い特徴量は、データの重要な側面を表現するだけでなく、機械学習モデルが数理的に仮定する条件を満たしている必要があります。そのため、数値データにもなんらかの変換が必要になる場合があります。特徴量エンジニアリングの中で数値データの変換は最も基本的なテクニックです。このテクニックはテキストや画像などの数値でない生データから抽出された値を特徴量として使うときにも有効です。

数値データを扱う際にまず確認すべきことは、その値に意味があるかどうかです。解くべき課題によっては、数値がプラスかマイナスかだけが重要な場合があります。また、もっと粗い粒度で、だいたいの大きさがわかれば十分ということもあります。このような場合、二値化や離散化によって数値データを変換します。これは、ウェブサイトの1日の訪問回数やレストランのレビュー件数など、自動的にカウントされて増えるタイプの数値データで特に重要です(「2.2 カウントデータの取り扱い」参照)。

次に、数値データが取る値の範囲について考える必要があります。扱う数値データの最小値と最大値はいくつでしょうか。また、数値は10、100、1000など複数の桁にわたるでしょうか。このような、数値データの取る範囲とその規模のことをスケール(scale)と呼びます。モデルが特徴量の滑らかな関数として表現される場合、その出力は特徴量のスケールに影響を受けます。例えば、 ...

Get 機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 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.