機能の処理 - Amazon Machine Learning

Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「Amazon Machine Learning とは」を参照してください。

機能の処理

データの概要と可視化によりデータを把握した後、変数をさらに意味のあるものにするために、変数をさらに変換することが必要な場合があります。これは機能処理と呼ばれます。たとえば、イベントが発生した日時をキャプチャした変数があるとします。この日時は決して繰り返されることはないので、ターゲットの予測には役立たないでしょう。しかし、この変数を、一日の時間帯、曜日、および月を表す機能に変換すると、これらの変数により、イベントが特定の時間帯、平日、または月に発生する傾向にあるかどうかを知るのに役立ちます。学習のためにより一般化できるデータのポイントを作成するこのような特徴処理により、予測モデルを大幅に改善できます。

その他の一般的な機能処理の例:

  • 不足しているデータや無効なデータをより意味のある値に置き換えることができます (たとえば、商品タイプ変数の不足している値が書籍であることが実際に分かっている場合は、商品タイプのすべての不足している値を書籍の値に置き換えることができます)。不足している値を補うために使用される一般的な方法は、不足している値を平均値または中央値で置き換えることです。不足している値を置き換える方法を選択する前に、データを理解することが重要です。

  • 1 つの変数と別の変数のデカルト積を形成します。たとえば、人口密度 (都市部、郊外、農村部) と州 (ワシントン州、オレゴン州、カリフォルニア州) といった 2 つの変数がある場合、これらの 2 つの変数のデカルト積によって形成される機能 (ワシントン州都市部、ワシントン州郊外、ワシントン州農村部、オレゴン州都市部、オレゴン州郊外、オレゴン州農村部、カリフォルニア州都市部、カリフォルニア州郊外、カリフォルニア州農村部) に役立つ情報があるかもしれません。

  • 数値変数をカテゴリにビニングするなどの非線形変換。多くの場合、数値機能とターゲットの関係は線形ではありません (機能の値は単調に増減しません)。そのような場合、数値機能のさまざまな範囲を表すカテゴリ機能に数値機能を格納すると便利です。各カテゴリ機能 (bin) は、ターゲットとのそれ自身の線形関係を持つものとしてモデル化することができます。たとえば、継続的な数値機能である年齢が、書籍を購入する可能性と直線的に相関していないことがわかったとします。ターゲットとの関係をより正確に把握できるようなカテゴリ機能に分類することができます。数値変数の最適なビン数は、変数の特性とターゲットとの関係に依存します。これは、実験を通じて最もよく決定されます。Amazon ML では、推奨レシピのデータ統計に基づいて数値機能の最適なビン数を示唆しています。推奨レシピの詳細については、開発者ガイドを参照してください。

  • ドメイン固有の機能 (たとえば、長さ、幅、高さが別々の変数である場合、これら 3 つの変数の積を新しいボリューム機能として作成できます)。

  • 変数固有の機能。テキスト機能、ウェブページの構造をキャプチャする機能、または、文の構造などの一部の変数タイプは、構造とコンテキストを抽出するのに役立つ一般的な処理方法を備えています。たとえば、「the fox jumped over the fence」というテキストから n-grams を形成する方法は、ユニグラム で表すと、the、fox、jumped、over、fence となります。または、バイグラムでは、the fox、fox jumped、jumped over、over the、the fence となります。

より関連性の高い機能を含めると、予測能力を向上させるのに役立ちます。明らかに、「シグナル」のある機能、または予測に影響のある機能をいつも事前に知ることができるとは限りません。したがって、ターゲットラベルに関連する可能性のあるすべての機能を含めておき、モデルトレーニングアルゴリズムが最も強い相関を持つ機能を選択するようにします。Amazon ML では、モデル作成時にレシピで機能処理を指定できます。使用可能な機能処理のリストについては、「開発者ガイド」を参照してください。