数値データ: モデルが特徴ベクトルを使用してデータを取り込む方法

これまで、モデルはデータセットの行に直接作用すると説明してきましたが、実際にはモデルはデータを少し異なる方法で取り込みます。

たとえば、データセットに 5 つの列が提供されているが、そのうち 2 つの列(bd)のみがモデルの特徴であるとします。3 行目の例を処理する際、モデルは次のようにハイライト表示された 2 つのセル(3b と 3d)のコンテンツを取得するだけですか?

図 1. データセットから直接例を取り込むモデル。行 3 の列 b と d がハイライト表示されています。
図 1. モデルがサンプルを取得する方法とは異なります。

実際には、モデルは特徴ベクトルと呼ばれる浮動小数点値の配列を取り込みます。特徴ベクトルは、1 つの例を構成する浮動小数点値と考えることができます。

図 2. 特徴ベクトルは、データセットとモデルの間の仲介者です。
図 2. 真実に近いが、現実的ではない。

ただし、特徴ベクトルでデータセットの元の値を使用することはほとんどありません。通常は、データセットの値を処理して、モデルが学習しやすい表現に変換する必要があります。より現実的な特徴ベクトルは次のようになります。

図 3. 特徴ベクトルには、0.13 と 0.47 の 2 つの浮動小数点値が含まれています。より現実的な特徴ベクトル。
図 3. より現実的な特徴ベクトル。

データセットの変更済み値ではなく、実際の値からトレーニングすると、モデルの予測精度が向上しませんか?驚くべきことに、答えは「いいえ」です。

元のデータセット値を特徴ベクトルでトレーニング可能な値として表す最善の方法を決定する必要があります。このプロセスは特徴量エンジニアリングと呼ばれ、機械学習の重要な部分です。最も一般的な特徴量エンジニアリング手法は次のとおりです。

このユニットでは、正規化とビニングについて説明します。次のユニット「カテゴリデータの操作」では、文字列などの数値以外のデータを浮動小数点値に変換するなど、他の形式の前処理について説明します。

特徴ベクトルのすべての値は浮動小数点値にする必要があります。ただし、多くの特徴量は文字列やその他の数値以外の値です。したがって、特徴量エンジニアリングの大部分は、数値以外の値を数値として表すことです。後続のモジュールで詳しく説明します。