このユニットでは、元データを適切な特徴ベクトルにマッピングする方法について説明しました。優れた数値特徴量には、このセクションで説明する特性があります。
わかりやすい名前
各特徴には、プロジェクトの人間にとって明確で、理にかなっており、明白な意味が必要です。たとえば、次の特徴値の意味は混乱を招きます。
非推奨
house_age: 851472000
一方、次の特徴名と値ははるかに明確です。
推奨
house_age_years: 27
トレーニング前に確認またはテスト済み
このモジュールでは外れ値について多くの時間を費やしましたが、このトピックは重要であるため、最後にもう一度説明します。場合によっては、エンジニアリングの選択ミスではなく、不適切なデータが原因で値が不明確になることがあります。たとえば、次の user_age_in_years
は、適切な値をチェックしていないソースから取得されたものです。
非推奨
user_age_in_years: 224
ただし、24 歳のユーザーは可能です。
推奨
user_age_in_years: 24
データを確認する
賢明
「マジック値」とは、連続的な特徴に意図的に不連続性を導入したものです。たとえば、watch_time_in_seconds
という連続型特徴に 0 ~ 30 の浮動小数点値を格納できるが、マジック値 -1 で測定の欠如を表すとします。
非推奨
watch_time_in_seconds: -1
watch_time_in_seconds
が -1 の場合、モデルは映画を逆再生することを意味することを理解しようとします。作成されたモデルは、適切な予測を行わない可能性があります。
watch_time_in_seconds
値が指定されているかどうかを示す個別のブール値特徴を作成することをおすすめします。次に例を示します。
推奨
watch_time_in_seconds: 4.82
is_watch_time_in_seconds_defined=Truewatch_time_in_seconds: 0
is_watch_time_in_seconds_defined=False
これは、欠損値を含む連続データセットを処理する方法です。次に、値が有限の値セットに属する必要がある product_category
などの離散な数値特徴について考えてみましょう。この場合、値が欠落している場合は、有限集合内の新しい値を使用して欠落している値を示します。離散型特徴の場合、モデルは値ごとに異なる重みを学習します。これには、欠落している特徴の元の重みも含まれます。
たとえば、このセットに適合する値は次のとおりです。
{0: 'electronics', 1: 'books', 2: 'clothing', 3: 'missing_category'}。