回帰問題
回帰問題とは、数値ターゲット列を含む機械学習の問題のことです。次の例は、正確な方法でビジネスの質問を構成し、すべての特徴量が対等になるようにトレーニング データセットを集約する方法を示しています。これは、予測回帰モデルを生成するための優れた基盤となります。
回帰の例: 顧客生涯価値
まず、過去の顧客についてトレーニングされた機械学習モデルが、予測に影響を与える複数の特徴量を使用して、顧客生涯価値の予測を学習すると仮定します。過去および現在のすべての顧客に関する履歴情報を含むデータセットを収集します。顧客ごとに 1 つの行があり、列は顧客を説明する特徴量 (顧客 ID、性別、年齢、顧客になった日付、郵便番号、購入回数、合計支出額) を表します。
顧客生涯価値を合計支出額として定義し、データセットを機械学習アルゴリズムにフィードして、合計支出額を予測するように学習させることができます。今後、新しい顧客が獲得されると、トレーニングされたアルゴリズムを使用して、その顧客が生涯を通じて提供する金銭的価値を予測できます。ただし、このアプローチにはいくつかの問題があります。
-
データセットには、顧客であった期間が 1 日、1 か月、または 1 年間の顧客が含まれる場合があります。合計支出額の値は、顧客がこれから支出する額ではなく、これまでに支出した合計額が反映されています。
-
アカウントの登録から 1 日しか経過していない顧客は、高い利益をもたらす顧客の特性を持っている可能性があります。しかし、昨日顧客になったばかりなので、購入したのは 1 回のみであり、支出額は多くありません。その顧客をトレーニング データセットに含めることで、あまり利益をもたらさないタイプの顧客であると、機械学習アルゴリズムに誤って教えてしまう可能性があります。
-
最初の 1 か月で週に 3 回、合計 12 回商品を注文した新規顧客がいるとします。1 年間顧客であり、1 か月に 1 回購入した他の顧客が、同じ金額を支出しているとします。機械学習アルゴリズムでは、これら 2 人の顧客は、顧客生涯価値という点では対等になります。しかし、長期的に見ると、実際には 1 か月目の顧客のほうがはるかに価値が高い可能性があります。
このような落とし穴を回避するには、顧客生涯価値を定義する方法と、問題に対するデータセットを準備する方法を正確にする必要があります。そのためには、問題定義に時間を要素として含めることが有効です。
時間要素を含める
時間要素を含めるために、最初の 1 年間の値を、顧客が初年度に支出する合計額として定義することから始めます。その後、最初の 3 か月間の顧客の行動を特徴量として使用して、最初の 1 年間の支出合計額を予測します。初年度の値は、関心のあるメトリクスに時間枠を組み込んで正確に定義したものです。このように正確に定義されたメトリクスを作成する利点は、トレーニング データセットのすべての例を対等にできることです。
ここでは、顧客が初年度に支出する合計額を調べているため、トレーニング データセットは少なくとも 1 年以上存在している顧客に限定する必要があることに注意してください。次のようなデータセットを準備できます。
ここでは、各行は少なくとも 1 年以上存在している顧客を表します。列には、顧客になった時点の顧客について説明する特徴量と、選択した時間枠における顧客の活動を表す特徴量が含まれます。
活動は、最初の 3 か月間の購入回数と、最初の 3 か月間の合計支出額によって測定されます。ターゲット列は、最初の 1 年間の合計支出額を表します。これは、機械学習アルゴリズムに予測を教える最初の 1 年の値です。
次のように、時間枠内で定義された非常に正確な質問をしていることに注目してください。「最初の 3 か月間の行動に基づいて、顧客が最初の 1 年間にどのくらいの支出をするかを予測します」