このトピックでは、Machine Learning Platform for AI (PAI) が提供するユーザー機能アルゴリズムを使用して、ユーザーのチャーンを監視するモデルを作成する方法について説明します。
背景情報
ユーザーベースを増やし、既存のユーザーを維持する方法は、ビジネスの成長の鍵です。 リスク管理モデルを使用して、解約する可能性の高いユーザーを特定し、これらのユーザーが解約するのを防ぐ対策を講じることができます。
ユーザーの解約を監視するための主流のソリューションは、ルールに基づいており、解約する可能性のあるユーザーを正確にマイニングするほどインテリジェントではありません。
解決策
PAIは、ラベル付けされたデータに基づいて、特徴エンコード、分類モデルトレーニング、およびモデル評価を実装するための包括的なソリューションを提供します。 このソリューションを使用するには、次の条件を満たす必要があります。
基本的なモデリングの知識を習得します。
あなたは1〜2日間開発に完全に従事することができます。
ユーザーが解約する状況の特徴を示す1,000以上のラベル付きデータレコードがあります。
データセット
このトピックで説明するパイプラインでは、通信プラットフォームから収集されたマスクされた実データを使用します。 データセット全体には、各ユーザーの基本情報とチャーンステータスを含む7,043のデータレコードが含まれています。 次の図は、パイプラインで使用されるサンプルデータを示しています。 次の表では、データセットのフィールドについて説明します。
項目 | 説明 |
customerid | ユーザーの ID。 |
gender | ユーザーの性別。 |
シニアシチズン | ユーザーが市民かどうかを指定します。 有効な値:
|
パートナー | ユーザーにパートナーがいるかどうかを指定します。 |
依存 | ユーザーが提携しているかどうかを指定します。 |
テニュア | ユーザーがサービスプロバイダーによって提供される期間。 |
PhoneService | ユーザーが携帯電話サービスに加入するかどうかを指定します。 |
多重線 | ユーザーが複数のサービスを使用するかどうかを指定します。 |
InternetService | DSLや光ファイバーなど、ユーザーが加入しているインターネットサービス。 |
OnlineSecurity | ユーザーがインターネットセキュリティの問題に直面しているかどうかを指定します。 |
OnlineBackup | ユーザーがオンラインサポートにアクセスできるかどうかを指定します。 |
DeviceProtection | ユーザーがサービス保護にアクセスできるかどうかを指定します。 |
TechSupport | ユーザーがテクニカルサポートを申請したかどうかを指定します。 |
StreamingTV | ユーザーがストリーミングTV番組にアクセスできるかどうかを指定します。 |
StreamingMovies | ユーザーがストリーミング映画にアクセスできるかどうかを指定します。 |
契約 | 契約期間 (Month-to-monthまたはTwo yearなど) 。 |
PaperlessBilling | ユーザーが電子請求書を受け取るかどうかを指定します。 |
PaymentMethod | ユーザーが使用した支払い方法。 |
毎月の料金 | ユーザーの毎月の費用。 |
総料金 | ユーザーの総費用。 |
ラベル付きデータのフィールドを次の表に示します。
項目 | 説明 |
解約 | ユーザーが解約するかどうかを指定します。 |
手順
Machine Learning Designerページに移動します。
PAIコンソールにログインします。
左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するワークスペースの名前をクリックします。
ワークスペースページの左側のナビゲーションウィンドウで、 機械学習デザイナーページに移動します。
パイプラインを作成します。
Visualized Modeling (Designer) ページで、プリセットテンプレートタブをクリックします。
このタブで、[チャーンユーザーモニタリング] テンプレートを見つけ、[作成] をクリックします。
[パイプラインの作成] ダイアログボックスで、パラメーターを設定します。 デフォルト値を使用できます。
Pipeline Data Pathパラメーターに指定された値は、パイプラインのランタイム中に生成された一時データおよびモデルのObject Storage Service (OSS) バケットパスです。
[OK] をクリックします。
パイプラインの作成には約10秒かかります。
[パイプライン] タブで、作成したチャーンユーザーモニタリングパイプラインをダブルクリックして開きます。
次の図に示すように、キャンバス上のパイプラインのコンポーネントを表示します。 システムは、組み込みテンプレートに基づいてパイプラインを自動的に作成します。
セクション
説明
①
このセクションに表示されるコンポーネントは、パイプラインで使用されるデータセットをインポートします。
②
このセクションで表示されるOne Hot Encoding-1およびSQL Script-1コンポーネントは、フィーチャエンジニアリングを実行して、STRING型フィーチャデータを数値型フィーチャデータに変換します。 たとえば、churnフィールドの元の値はYesまたはNoです。 SQL Script-1コンポーネントは、SQLステートメントを実行して、Yesを1に、Noを0に変換します。
select (case churn when 'Yes' then 1 else 0 end) as churn from ${t1};
③
このセクションに表示されるコンポーネントは、データセットをトレーニングデータセットと予測データセットに分割します。 ユーザは解約してもしなくてもよい。 したがって、バイナリ分類アルゴリズムを使用してユーザーのチャーンを予測できます。
④
Binary Classification Evaluation-1は、AUC (area under curve) 、KS (Kolmogorov-Smirnov) 値、F1スコアなどの指標を用いてモデルの品質を評価する。
パイプラインを実行し、結果を表示します。
キャンバスの左上隅にある [実行] アイコンをクリックします。
パイプラインの実行後、[バイナリ分類評価-1] コンポーネントを右クリックします。 表示されるショートカットメニューで、[Visual Analysis] をクリックします。
[評価] セクションで、[インデックスデータ] タブをクリックして、モデルの評価に使用されるインデックスを表示します。
AUC値が1に近いほど、モデルの予測精度は高い。 前の図では、AUC値は0.8より大きい。 これは、モデルの予測精度が高いことを示している。