Qlik Sense アプリでの予測データの視覚化
プロセスの最終ステップは、Qlik Sense 分析アプリを作成して、生成した予測データを可視化することです。
別のワークフロー: 事前構成されたアプリのアップロード
このトピックの残りの手順を実行する代わりに、このチュートリアルの開始時にダウンロードした Customer churn predictions.qvf アプリを Analytics アクティビティ センターにアップロードできます。
このページの残りのセクションでは、同様のアプリを作成する方法について説明します。 アプリ内の予測データと自分の予測データには多少の差異があります。
ダウンロード可能なアプリには、Individual Customer Analysisというタイトルの追加シートが含まれており、条件式を使用して一度に 1 つの顧客アカウントを詳細に分析できます。
はじめに
Analytics アクティビティ センターから [作成] ページを開き、 [分析アプリ] をクリックします。 アプリのスペースを選択してから、Customer churn predictions と名付けます。
[作成] をクリックします。
データ モデルの作成
データの選択
必要なデータをアプリに追加する必要があります。 これは、適用データセット (チュートリアルの開始時にアップロード) と、予測から生成された 2 つのデータセットで構成されます。
次の手順を実行します。
-
新しいアプリで、クリックしてデータ カタログからデータを追加します。
-
データ カタログで、次の 3 つのデータセットの横にあるチェックボックスをクリックします。
-
適用データセット: AutoML Tutorial - Churn data - apply.csv または AutoML Tutorial - Churn data - apply.qvd
-
予測データセット: AutoML Tutorial - Churn data - apply_Prediction.csv
-
座標 SHAP データセット: AutoML Tutorial - Churn data - apply_Prediction_Coordinate_SHAP.csv
-
-
[次へ] をクリックします。
-
概要パネルが表示されます。AutoML Tutorial - Churn data - apply.csv データセットをクリックして、ロードできる項目を展開します。
-
モデルのトレーニング中に選択を解除した特徴量の横にある アイコンをクリックします。 これはDaysSinceLastService で、同時にモデルに対する影響度が低いために選択を解除した特徴量である必要があります。
-
[アプリにロード] をクリックします。
データの関連付け
この時点でデータはアプリに追加されましたが、データセットを関連付けるまでは接続されたデータ モデルは構築されません。この場合、AccountID 項目がデータセットを結合させるインデックスとなります。
アプリで、 [データ マネージャー] が開くようになりました。3 つのデータセットが表示されますが、それらは接続されていない別々のエンティティとして表示されます。
次の手順を実行します。
-
アプリで、 [データ マネージャー] が開くようになりました。3 つのデータセットが表示されますが、それらは接続されていない別々のエンティティとして表示されます。
-
[データ マネージャー] の右側のパネルで、AccountID 関連付けの提案を見つけます。
-
[適用] をクリックします。これで、テーブルが相互に接続されるはずです。
-
[データのロード] をクリックします。
データ モデル ビューア での関連付けの確認
アプリでビジュアライゼーションを構築する前に、データが適切に関連付けられていることを確認する必要があります。
次の手順を実行します。
-
インターフェイス上部のナビゲーション バーで、アプリのナビゲーション メニューを開き、データ モデル ビューア を選択します。
-
3 つのデータセットが正しく接続されていることを確認します。AccountID 項目が、3 つすべてのデータセットの鍵として機能します。アプリのデータ モデルは次の図のようになります。
これで、分析コンテンツの構築を開始する準備ができました。ナビゲーション バーの [分析] タブ内の [シート] をクリックします。
最初のシート: 集計予測ダッシュボード
最初のシートでは、集計形式での予測の分析に焦点を当てます。
次の手順を実行します。
-
シート編集モードで操作する必要があります。[詳細オプション] をクリックします。
-
シート内の既存のビジュアライゼーションを右クリックし、削除します。これはチャートの提案機能であり、このチュートリアルでは使用しません。
-
シートに「Aggregated Predictions」などのタイトルを付けます。タイトルを付けるには、空のシート内の任意の場所をクリックして、インターフェイスの右側にある [シート プロパティ] を開きます。[タイトル] にシートの名前を入力します。
円グラフ
円グラフを使用すると、データの割合の分析を簡単に視覚化できます。この場合、予測された結果 (yes または no) ごとにデータを分類することが合理的です。
次の手順を実行します。
-
シートに円グラフをドラッグします。
-
Churned_predicted を軸として追加します。
-
メジャーとして Count(AccountID) を追加します。
-
必要に応じて、プロパティ パネルの [スタイル] > [プレゼンテーション] で [軸ラベル] をオフにします。
-
プロパティ パネルの [データ] で軸を展開し、軸の [ラベル] を Predicted to Churn に変更します。
凡例のラベルが更新されます。
フィルター パネル
このダッシュボードは、データ モデル全体を広範に分析するためのものです。ただし、特定のコホートを分析するには、さまざまな軸にわたってデータを迅速にフィルタリングできることが重要になります。
複数のリストボックスを含むフィルター パネルを作成します。各リストボックスでは、単一の軸内の値を選択できます。
次の手順を実行します。
-
シートにフィルター パネルをドラッグします。
-
フィルター パネルに項目を追加します。これらは、予測される結果にとって重要であると予想される軸の可能性があります。
-
必要に応じて、プロパティ パネルの [データ] にある項目をクリックして、各リストボックスを変更します。これにより、リストボックスのプロパティが開きます。
たとえば、項目ラベルを変更し、シート スペースを節約するために [リストボックスを折りたたむ] を [Always] (常に) に設定するとよいでしょう。
フィルター パネルのサイズを変更して、シートの片側にパネルとして表示されるようにします。
KPI オブジェクト
KPI は、特に重要なデータの分析のための単一値を表示する優れた方法です。ここでは、3 つの KPI チャートを作成します。
次の手順を実行します。
-
ブランクの KPI チャートを作成します。次のメジャーを追加します。
=Count(Churned_predicted)
これは、チャーン予測を作成した顧客の合計人数を計算します。
-
メジャーに Total # of Customers というタイトルを付けます。
-
[数値書式] を [数値] に設定して、値を 1,000 単位で表示します (小数点やパーセント値を使用しない)。
-
ブランクの KPI チャートをもう 1 つ作成します。次のメジャーを追加します。
=Count({<Churned_predicted={"yes"}>}(Churned_predicted))
これは、yes の値が Churned_predicted 項目に表示される回数を計算する set 式です。
-
メジャーに Predicted to Churn というラベルを付けます。
-
チャートの数値書式は、最初の KPI と同じ設定にします。
-
3 つ目のブランク KPI チャートを作成します。次のメジャーを追加します。
=Count({<Churned_predicted={"no"}>}(Churned_predicted))
これは、no の値が Churned_predicted 項目に表示される回数を計算します。
-
メジャーに Predicted to Stay というラベルを付けます。
ヒストグラム
予測確率値の分布をヒストグラムで視覚化できます。
ヒストグラムをシートにドラッグし、タイトルを付けます。Churned_yes を軸として追加します。
積み上げ棒グラフ
プラン タイプなどのカテゴリ項目で予測を分析するには、個々の set 分析を積み重ねた棒グラフを作成します。
次の手順を実行します。
-
棒グラフをシートにドラッグして、Churn Predictions by Plan Type というタイトルを付けます。
-
PlanType を軸として追加します。Plan Type というラベルを付けます。
-
次のメジャーを追加します。
=Count({<Churned_predicted={"no"}>}(Churned_predicted))
メジャーに Predicted to Stay というラベルを付けます。
-
次のメジャーを追加します。
=Count({<Churned_predicted={"yes"}>}(Churned_predicted))
メジャーに Predicted to Churn というラベルを付けます。
-
[スタイル] > [プレゼンテーション] で、レイアウトを [グループ] から [積み上げ] に変更します。
-
スクロールバーを削除して、[値ラベル] を [オン] に設定します。
-
[セグメント ラベル] と [合計ラベル] を [自動] に設定します。
完了したら、同じ 2 つのメジャーで同様の棒グラフを作成できますが、NumberOfPenalties などの異なるカテゴリ軸を使用します。
個々の数値項目の値を分析するための分布プロット
分布プロットを使用すると、多様な数値を使用し、メジャー別のデータ予測を表すことができます。このセクションでは、基本料金別にチャーン予測を表示し、顧客のサービス評価を明確にグループ化したチャートを作成します。
次の手順を実行します。
-
分布プロットをシートにドラッグしてから、Churn Predictions by Base Fee and Service Rating というタイトルを付けます。
-
AccountID をポイントの軸として追加します。
-
次のメジャーを x 軸に追加します:
=Avg(BaseFee)
-
次の計算軸を y 軸に追加します:
=Round(ServiceRating,2)
これにより、おおよその ServiceRating 値の y 軸に沿ったグループが作成されます。値が高いほど、顧客のサービス品質の評価は高くなります。
-
[スタイル] > [プレゼンテーション] の順に選択し、[バブル サイズ] を 20 に減らしてから、[ジッター ポイント] をオンにします。
-
[色と凡例] で、[色] を [カスタム] に設定します。
-
次の軸別にデータの色のオプションを選択します。
=Churned_predicted
これにより、Churned_predicted 項目の各値に 1 つの色が割り当てられます。この場合、2 色で表示されます。
-
軸とメジャーにラベルを追加し、カスタム カラー設定に「Predicted to Churn」というラベルを追加します。
異なる数値項目の分析についても、BaseFee メジャーの代わりに他の項目の集計を代用することで、同様のチャートを作成できます。
シートに、下の画像のようなビジュアライゼーションを設定します。
2 番目のシート: 集計 SHAP ダッシュボード
次に、集計された SHAP 値を分析する専用のシートを作成します。
次の手順を実行します。
-
新しいシートを作成し、高度な編集モードを開きます。
-
シートにタイトルを付けます (「Aggregated SHAP」など)。
SHAP importance ランキング
このタイプのチャートは、実験バージョンを設定する際に目にする自動生成チャートに似ています。ここでは、予測されたデータセット向けのチャートを作成します。
このタイプのチャートの目的は、Churned 列に表示される結果への貢献度が最大の特徴量を表示することにあります。絶対値を使うので、SHAP 結果は正 (yes の値) にも負 (no の値) にもなることに注意してください。必要に応じて、絶対値を計算しない式も使用できます。
次の手順を実行します。
-
空のシートに棒グラフをドラッグします。
-
チャートに「 SHAP Importance by Feature」というタイトルを付けます。
-
automl_feature を軸として追加し、Feature というラベルを付けます。
これにより、含まれたすべての特徴量全体の集計データを表示できます。
-
次の計算されたメジャーを追加します。
=fabs(Avg(SHAP_value))
-
[ラベル] に、「Average Absolute SHAP」と入力します。
-
プロパティ パネルの [スタイル] > [プレゼンテーション] で、スクロールバーがある場合はそれを削除し、チャートの向きを縦から横にします。
-
ソートで、まだの場合は軸の上にあるメジャーをドラッグします。各項目のソートを Auto のままにします。
これにより、メジャー値の降順パターンでチャートがソートされます。
格子コンテナ
Trellis container / 格子コンテナを作って、軸内の特定の項目値のデータをフィルタリングします。この場合、顧客に提供される 4 つのプラン タイプの SHAP 値を分類できます。
Trellis オブジェクトを作成するには、軸とマスター ビジュアライゼーションを指定する必要があります。作成したばかりの SHAP importance ランキングをマスター ビジュアライゼーションに変換します。
次の手順を実行します。
- シートで Average Absolute SHAP チャートを右クリックしてから、 [マスター アイテムに追加] を選択します。
- 既定の名前のままにしてから、[追加] をクリックします。
-
アセット パネルのカスタム オブジェクト > Qlik ビジュアライゼーション バンドル で、シートに Trellis container / 格子コンテナをドラッグします。
-
PlanType を軸として追加します。
-
チャートの [マスター ビジュアライゼーションの追加] をクリックしてから、Average Absolute SHAP チャートを追加します。
-
プロパティ パネルの [スタイル] > [全般] で、[タイトルの表示] をオンにしてから、チャートに SHAP importance by plan type というタイトルを付けます。
-
チャートで特徴量の名前を表示できる幅を確保するため、Trellis container / 格子コンテナのサイズを変更します。すべてのラベルが表示されない場合、ブラウザ ウィンドウでズームを調整します。
または、分析する軸の値ごとに設定した式で個別のチャートを作成することで、このデータを表示することも可能です。この場合、4 つのプラン タイプに対して別のチャートを作成できます。
フィルター パネルの再利用
最初のシートで作成したフィルター パネルをこのシートで再利用できます。詳細編集モードで、フィルター パネルを右クリックしてコピーします。それを Aggregated SHAP シートに貼り付けます。
ツリーマップ
SHAP 値の分析をツリーマップで視覚化することもできます。ツリーマップをシートにドラッグし、SHAP importance ランキングで使用したものと同じ軸とメジャーを追加します。
シートに、下の画像のようなビジュアライゼーションを設定します。
アプリの使用
アプリの構築が完了したら、データ分析に使用できるようになります。
[シートを編集] をクリックして分析モードに切り替えます。このビューでは、選択を実行して (フィルター パネルまたはシート内の他の場所で) 、データのサブセットの特定の分析をするためにデータをフィルターできます。たとえば、特定の顧客プランの種類または地域を分析し、その結果をデータの他のサブセットと比較することなどができます。
お疲れ様でした!
このチュートリアルはこれで終了です。知識を習得し、自動機械学習が予測モデルを迅速かつ簡単に生成する方法であることを実感していただけたと思います。Qlik Sense は、予測データを可視化しやすくし、データに関して意味のあるインサイトを提供するパワフルなツールです。