このチュートリアルでは、「自己学習反応モデル(SLRM)ノードを使用します。このノードは、どのオファーが顧客に最も適切で、オファーが受け入れられる確率を予測するモデルを生成し、更新できるようにします。 このような種類のモデルは、マーケティング・アプリケーションやコール・センターなどのカスタマー・リレーションシップ・マネジメントで最も役立ちます。
この例は、架空の銀行に基づいています。 マーケティング部門は、適切な金融サービスのオファーを各顧客にマッチングすることで、将来のキャンペーンでより収益性の高い結果を達成したいと考えています。 具体的には、この例では、自己学習応答モデルを使用して、以前の提案および応答を基に、好意的な反応を示す可能性が最も高い顧客の特徴を識別し、その結果に基づいて現在の最良の提案を促進します。
チュートリアルを試す
このチュートリアルでは、以下のタスクを実行します:
モデラーのフローとデータセットのサンプル
このチュートリアルでは、サンプルプロジェクトの「顧客へのオファー - 自己学習」フローを使用します。 使用されるデータファイルはpm_customer_train1.csv、pm_customer_train2.csv、pm_customer_train3.csvである。 次の図は、モデラーのフロー例を示しています。
タスク 1:サンプルプロジェクトを開く
サンプル・プロジェクトには、いくつかのデータ・セットとモデラー・フローのサンプルが含まれています。 サンプル・プロジェクトをまだお持ちでない場合は、チュートリアル・トピックを参照してサンプル・プロジェクトを作成してください。 次に、以下の手順でサンプルプロジェクトを開きます:
- Cloud Pak for Dataの ナビゲーションメニュー「」から、Projects > View all Projetsをc選択します。
- SPSS ModelerProjectをクリックします。
- アセット」タブをクリックすると、データセットとモデラーフローが表示されます。
進捗状況を確認する
次の図は、プロジェクトのAssetsタブを示しています。 これで、このチュートリアルに関連するサンプルモデラーフローで作業する準備ができました。
タスク2:データ・アセットとフィラー・ノードを調べる
顧客にオファーを出す - Self-Learningモデラーフローにはいくつかのノードがあります。 以下の手順に従って、データ・アセット・ノードと フィラー・ノードを調べます:
- アセットタブから、「顧客への提案 - 自己学習」モデラーフローを開き、キャンバスがロードされるのを待ちます。
- pm_customer_train1.csvノードをダブルクリックします。 このノードは、プロジェクト内のpm_customer_train1.csvファイルを指すData Assetノードです。
- ファイル形式のプロパティを確認します。
- オプション:完全なデータセットを表示するには、データのプレビューをクリックします。
- Fillerノードをダブルクリックします。フィラー・ノードは、フィールド値の置換やストレージの変更に使用される。
@BLANK(FIELD)
のような、CLEM 条件に基づいて値を置換することができます。 また、すべての空白値やヌル値を特定の値に置換することもできます。 フィラー・ノードは、欠落した値を置き換えるために、しばしばタイプ・ノードとともに使用される。Fill in fieldsセクションで、値を調べて置換したいデータセットのフィールドを指定できます。 この場合、'campaign
カラムは、'Replace'セクションの'Always'選択とともに指定される。 - キャンセルをクリックする。
進捗状況を確認する
次の図はFillerノードを示している。 これでTypeノードとReclassifyノードを調べる準備ができた。
タスク3:ノードのタイプと再分類を調べる
以下の手順に従って、TypeノードとReclassifyノードを調べます:
- Typeノードをダブルクリックしてプロパティを見る。Typeノードでは、使用するフィールドのタイプと、それらがどのように結果の予測に使用されるかを示すことができる。
campaign
と'response
フィールドのロールがTargetに設定されていることに注意してください。 指定されたターゲットは、予測のベースとなるフィールドである。response
フィールドのMeasure が Flagに設定されている。 - 値を読む」をクリックする。
- 保存 をクリックします。
キャンペーン・フィールドのデータが数字のリスト (1、2、3、4) として表示されるため、フィールドを再分類してより分かりやすいタイトルにすることができます。
- Reclassifyノードをダブルクリックしてプロパティを表示します。
- Reclassify Intoセクションで、Existingフィールドを選択する。
- 次に、Reclassify Fieldセクションで、campaignを選択する。
- 「値を取得 (Get values)」をクリックします。 キャンペーンの値は「
ORIGINAL VALUE
列に追加される。 NEW VALUE
列の「Values」セクションに4行あることに注目してほしい:- Mortgage
- Car loan
- Savings
- Pension
- 保存 をクリックします。
進捗状況を確認する
次の図はReclassifyノードを示しています。 これでSLRMノードを探索する準備が整いました。
タスク4:SLRMノードの探索
以下の手順に従って、SLRMノードを探索してください:
- キャンペーン(SLRM)ノードをダブルクリックしてプロパティを表示します。
- Targetフィールドには「
campaign
、Target responseフィールドには「response
」を選択する。 - モデルオプション]の[レコードごとの最大予測数]の数字を2に減らす。 つまり、各顧客に対して、受け入れられる確率が最も高い2つのオファーが特定される。
- モデルの信頼性を考慮する」が選択されていることを確認する。
- 保存 をクリックします。
進捗状況を確認する
次の図は、このフローを示しています。 これでモデルを生成する準備が整いました。
タスク5:モデルの生成
以下の手順でモデルを生成する:
- キャンペーン(SLRM)ノードにカーソルを合わせ、実行アイコン「」をクリックします。
- アウトプットとモデルペインで、結果を表示するキャンペーンモデルをクリックします。
最初のビューには、各提案の予測の推定精度が表示されます。 「予測値の重要度」をクリックしてモデルの推定における各予測値の相対重要度を表示したり、「応答との関連付け (Association With Response)」をクリックして各予測値と対象変数の相関を表示したりすることもできます。
- 予想がある4つのオファーをそれぞれ切り替えるには、「表示」メニューを使用する。
- フローに戻ります。
進捗状況を確認する
次の図は、このフローを示しています。 これで他のデータ・アセット・ノードを試す準備ができました。
タスク6:他のデータアセットノードを試す
以下の手順に従って、他のデータアセットノードを試してみてください:
- Fillerノードからpm_customer_train1.csvノードを切断します。
- pm_customer_train2.csvノードをFillerノードに接続します。
- campaign (SLRM)ノードをダブルクリックし、Build OptionsでContinue training existing modelが選択されていることを確認します。
- 保存 をクリックします。
- フローを実行して、モデル・ナゲットを再生成します。 キャンペーン(SLRM)ノードにカーソルを合わせ、実行アイコン「」をクリックします。
- アウトプットとモデルペインで、結果を表示するキャンペーンモデルをクリックします。 これで、モデルには、各提案の予測の精度の、改訂済み推定値が表示されます。
- Fillerノードからpm_customer_train2.csvノードを切断します。
- pm_customer_train3.csvノードをFillerノードに接続します。
- フローを実行して、モデル・ナゲットを再生成します。 キャンペーン(SLRM)ノードにカーソルを合わせ、実行アイコン「」をクリックします。
- アウトプットとモデルペインで、結果を表示するキャンペーンモデルをクリックします。
これで、モデルには、各提案の予測の最終推定精度が表示されます。 表示されているように、平均精度は、データ・ソースを追加すると若干減少します。 しかし、この変動はごくわずかであり、入手可能なデータ内のわずかな異常に起因するものかもしれない。
- テーブル・ノードにカーソルを合わせ、実行アイコン「」をクリックする。
- Outputs and models"ペインで、"Table "モデルをクリックして結果を表示する。
表の予測は、各顧客の詳細に応じて、顧客がどのオファーを受け入れる可能性が最も高いか、またそのオファーを受け入れる確信度を示している。 例えば、1行目では、以前自動車ローンを組んだ顧客が年金を勧められた場合、それを受け入れるかどうかの信頼度は13.2しかない(「$SC-campaign-1
列の値「0.132
」で示される)。 しかし、2行目と3行目には、自動車ローンを利用した顧客がさらに2人示されている。彼らの場合、彼らや同様の履歴を持つ他の顧客は、普通預金口座を勧められたら開設する信頼度は95.7であり、年金を受け入れる信頼度は80%以上である。
SPSS Modelerで使用されるモデリング手法の数学的基礎の説明は、SPSS Modelerでご覧いただけます。
これらの結果はトレーニングデータのみに基づいている。 モデルが現実世界の他のデータに対してどの程度一般化されるかを評価するために、テストと検証の目的でレコードのサブセットを保持するためにパーティション・ノードを使用します。
進捗状況を確認する
次の図は、このフローを示しています。
サマリー
この例では、Self-Learning Response Model (SLRM)ノードを使用して、各顧客の詳細に応じて、顧客がオファーを受け入れる可能性が最も高いオファーと、オファーを受け入れる確信度を予測する方法を示した。
次のステップ
これで、他のSPSS® Modelerチュートリアルを試す準備ができました。