ML モデルは入力の例を直接見たり、聞いたり、検知したりすることはできません。その代わりに、データの表現を作成して、データの主な性質について有用な視点をモデルに提供する必要があります。つまり、モデルをトレーニングするには、データを最もよく表す特徴のセットを選択する必要があります。
表現
元データから特徴へ
考え方は、左側のベクトルの各部分を 1 つ以上のフィールドにマッピングし、右側の特徴ベクトルにマッピングするというものです。
元データから特徴へ
元データから特徴へ
元データから特徴へ
- 辞書が各通りの名前を {0, ...,V-1} の int にマッピング
- 上記のワンホット ベクトルを <i> で表現します。
良い特徴の特性
特徴値は、データセット内でゼロ以外の値(ごく少数の回数)で出現する必要があります。
my_device_id:8SK982ZZ1242Z
device_model:galaxy_s6
良い特徴の特性
対象物には明確で明確な意味が必要です。
user_age:23
user_age:123456789
良い特徴の特性
機能が「マジック」値を利用すべきではない
(代わりに watch_time_is_defined などのブール値機能を使用してください)。
watch_time: -1.0
watch_time: 1.023
watch_time_is_defined: 1.0
良い特徴の特性
特徴の定義が時間の経過とともに変化してはならない。
(他の ML システムに依存することに注意!)
city_id:"br/sao_paulo"
inferred_city_cluster_id:219
良い特徴の特性
分布に極端な外れ値があってはいけません
すべての特徴量が (-1, 1) や (0, 5) などの類似範囲に変換されていることが理想的です。
ビニングのテクニック
ビニングのテクニック
- 複数のブール値ビンを作成し、それぞれを新しい一意の特徴にマッピングする
- モデルがビンごとに異なる値を適合できるようにする
良い習慣
データを把握する
- 可視化: ヒストグラムをプロットし、共通性が高い順に並べます。
- デバッグ: サンプルが重複している場合は、欠損値の場合特に外れ値については、データはダッシュボードと合致しているかトレーニング データと検証データは類似していますか?
- モニタリング: 特徴分位数、時間の経過に伴う例の数。