最も困難な部分:分類の目標を定義すること

「最も困難な課題:目標を明確に定義する分類方法」

プロダクションデータベースでは「Target_Variable」としてラベル付けされていません!

写真は Kenny EliasonによってUnsplashで撮影されました

ターゲット変数とは何ですか?

ターゲット変数は、教師あり機械学習モデルで予測しようとしている変数または指標です。これは依存変数、応答変数、’y’変数、または単純にモデルの出力ともよく呼ばれます。

統計学の授業で使用する用語はどれを好みまたは使用されるかに関係なく、これはどの教師ありモデリングプロジェクトにおいても最も重要な変数です。機械学習の経験があるほとんどの人にとっては当然のことですが、初心者のためになぜ重要かについて再確認する価値があります。

技術的な観点から見ると、ターゲット変数のデータ型によって、作業しているモデリングプロジェクトのタイプが決まります。数値型のターゲット変数は回帰モデルの領域であり、カテゴリ変数は分類モデルで作業していることを意味します。

数値ターゲット変数を持つ回帰モデル - 私の回帰のコースからの画像

しかし、モデルのタイプ以上に重要なのは、ターゲット変数がモデルを構築するための完全な理由であることです。

お客様が離職(お客様ではなくなる)かどうかを予測する非常にシンプルな意思決定ツリー - Mavenの分類のコースからの画像

分類のためのターゲット変数の定義

表面的には、分類のためのターゲット変数の定義は簡単に思えるかもしれません。ただし、モデル化されたことのないデータのモデルを構築するよう求められた場合、意見が変わることもあります。

機械学習を学び始めると、通常、分類モデリングに使用する明確に定義された0と1のデータが含まれた比較的クリーンなデータセットが提供されます。しかし、私の経験では、リレーショナルデータベースの列が最終的なターゲット変数の要件と完全に一致することは非常に稀です。

もちろん、これはMLアルゴリズムの実験を通じて学ぶ過程の文脈では完璧に理解できますが、初めてのデータサイエンティストの仕事で取り組んだ最初の「リアルライフ」モデリングデータセットを生成するためのSQLクエリを目にしたときには、私は非常に驚かされました。

購読プロダクトの顧客離脱を考えると、データをターゲット変数を生成するために変換する必要があるいくつかの例を見てみましょう。これは保険ポリシー、Netflixのサブスクリプションなどが該当します。これらのテーブルをどのようにデータエンジニアが構造化するかには合致しないかもしれませんが、実際のプロダクションデータに似たダミーデータを作成しました。

例1:キャンセル日

顧客が離脱したことを示す明確な1または0がないが、この例では比較的簡単に生成することができます。subscription_end_dateがnullであれば、顧客が現在もアクティブであると仮定することができるかもしれません。そのため、subscription end dateがnullでない場合に1を割り当て、nullの場合に0を割り当てて、ターゲット変数の陽性クラスを離脱者とします。

簡単ですね。では、もう少し複雑な例を見てみましょう。

例2:更新日

さて、購読テーブルに別の列があると想像してみてください。顧客が再び有料の購読者になった場合、それがいつ起こったかをキャプチャする列があります。

最初の顧客は購読終了後に戻ってこなかったので、彼らが離反したと安全に言えます。

しかし、顧客4は購読終了の翌日に再購読しました。月額購読が切れたか、クレジットカードの有効期限が切れ、これに気づいたとたんに購読を再開した可能性があります。会員資格の一日の穴埋めは、この顧客が離反したと言うには十分ですか?おそらくそうではありません。しかし、7日間や30日間の穴埋めの場合はどうでしょうか?

顧客5は再購読しましたが、1年以上の間顧客ではありませんでした。彼らが離反したと言うのは妥当だと思われますが、これはステークホルダーや専門家と意見を交わす重要なポイントです。私たちは、30日以上の期間に購読が途切れた人を離反顧客と定義するロジックで妥協し、次のようになるでしょう:

これは取るに足らない違いではありません。目標定義は、ターゲットとして成功を予測できる特徴、モデルの全体的な正確性、そして最終的にプロジェクトの成功にもダウンストリームの影響を及ぼす可能性があります。

たとえば、顧客4が私たちのプラットフォームの非常にアクティブなユーザーだった場合(失ったアクセスをすぐに気づきました)、他の2つの顧客はそうではなかった場合、離反と相関する予測力の特徴が私たちのぞんざいなターゲット定義によって低下します。

もっと例を追加することも考えましたが、これら2つによって広い範囲のポイントが明確に示されていると思います。考える材料として、トランザクションテーブルには、毎月の支払いごとに1行、さまざまな購読タイプと期間、プロモーションで無料購読を獲得した顧客(完全にフィルタリングしたい場合もあります)、その他も含まれることがあり、ターゲット変数の論理の作成は間違いに対してさらに影響を受けやすくなります。

アドバイス一部

モデルのターゲットは、単純な0か1ではなく、分類モデリングプロジェクトの成功の基本単位を表します。そのため、次のプロジェクトでターゲット変数を定義する方法についていくつかの一般的なアドバイスを提供します:

  • ターゲット変数は、テーブル内でクリーンに定義されることはほとんどありません
  • 時間をかけて、そして数日、数週間かけて、手元のデータからターゲット変数をどのように定義できるか、およびその定義がビジネスの目標と関連しているかを熟考してください。これは決して取るに足らない作業ではありません。定義を後から変更する必要がある場合に備えて、前に時間と労力をかけることがはるかに良い結果を生みます。
  • 組織内で概念的な定義が合意されていない場合もあります。 「離反」はさまざまな方法で定義でき、完璧な定義を持つことはないかもしれません。しかし、モデリング担当者として定義を話し合い、合意を得ることは重要です。少なくとも、定義を変更する必要があるという場合には、自分自身を守っていると言えますし、最高の場合は、成功するモデルの構築の基礎を築いています。

私の考えを読んでくださってありがとうございました-熟練したデータサイエンティストにとっては画期的なものではないかもしれませんが、この分野が初めての人々が学校と実務の間にあるギャップについて認識し、ターゲット変数を当然のものとしては受け取らないようにするための意識を持っていただければ幸いです。可能な限り迅速にモデリングに進むことは誘惑しますが、そうすると…目標を見失うかもしれません。

この記事が気に入ったら、フォローしてください!私はPython、Pandas、データアナリティクスからデータサイエンスへの転向などのトピックについて定期的に書いています。また、これらのトピックに関するコースもMaven Analytics PlatformとUdemyで利用可能です-あなたに会えるのを楽しみにしています!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more