设置 Qlik Sense 预测应用程序
该过程的最后一步是创建一个 Qlik Sense 分析应用程序,将您生成的预测数据可视化。
在 Qlik Cloud 分析 应用中心中,单击新增 > 分析应用程序。为应用程序选择一个空间,并将其命名为客户流失预测。
单击创建。
导入您的数据
在新应用程序中,单击以从数据目录中添加数据。
将以下数据集导入应用程序:
-
应用数据集:Customer churn data - apply.csv
-
预测数据集:Customer churn data - apply_Prediction.csv
-
坐标 SHAP 数据集:Customer churn data - apply_Prediction_Coordinate_SHAP.csv
应用数据集是在教程开始时上传的。另外两个数据集是在预测运行期间创建的。
出现提示时,使用推荐的关联关联应用程序中的数据。在这种情况下,AccountID 字段将是将数据集链接在一起的索引。
完成后,数据即可添加到应用程序中。
单击加载数据。
审查数据模型
在应用程序中构建任何可视化之前,请打开数据模型查看器并检查三个数据集是否已正确连接。AccountID 字段应作为所有三个数据集的键。应用程序的数据模型应与下图中的数据模型相似。
数据模型查看器显示预测应用程序的数据模型

可视化数据
构建预测应用程序有多种方法。在这里,我们将创建一个工作表来显示 SHAP 值(预测影响者),另一个工作表显示预测。
第一个工作表:SHAP 特征重要性图表。
首先,创建一个工作表,用于分析各种排列中的 SHAP 值。
执行以下操作:
-
创建新工作表,然后单击编辑工作表。
- 给工作表提供一个标题,例如 SHAP Analysis。
- 打开高级选项并从工作表画布中删除空的建议图表对象。
现在,您可以开始创建可视化效果了。
SHAP importance 排名
这种类型的图表类似于您在配置实验版本时可能看到的自动生成的图表。在这里,我们将为预测数据集制作一个。
这类图表的目的是显示对流失列中的结果贡献最大的特征。我们需要注意,因为我们将使用绝对值,所以 SHAP 结果可以是正值(值为 Yes)或负值(值为 No)。
执行以下操作:
-
从工作表的资产面板中,将条形图拖到空工作表上。
-
为图表提供标题 SHAP importance ranking。
-
添加 automl_feature 作为维度,并将其标记为 Feature。
这允许您显示所有包含特征的聚合数据。
-
添加以下计算度量值:
=fabs(Avg(SHAP_value))
-
在标签下,键入 Average SHAP Value。
-
在“属性”面板的外观 > 演示下,删除滚动条(如果存在),并将图表方向从垂直设置为水平。
-
在排序下,如果尚未完成,请将度量拖到维度上方。将每个字段的排序保留为自动。
这将按度量值以降序对图表进行排序。
图表显示了流失结果的最重要贡献因素

网格容器
可以创建网格容器来过滤维度中特定字段值的数据。在这种情况下,我们可以分解向客户提供的四种计划类型中的每一种的 SHAP 值。
要创建网格对象,需要指定维度和主可视化。我们将把刚刚创建的 SHAP importance 排名转换为主可视化。
执行以下操作:
- 右键单击工作表中的 SHAP importance 排名图表,然后选择
添加至主条目。
- 保留默认名称并单击添加。
-
在资产面板中的自定义对象 > Qlik 可视化捆绑包下,将网格容器拖到工作表上。
-
将 PlanType 添加为维度。
-
单击图表中的添加主可视化,然后添加 SHAP importance 排名图表。
-
在属性面板中的外观 > 常规下,启用显示标题,并将图表标题命名为 SHAP importance by plan type。
-
调整格子容器的大小,使其足够宽,可以显示图表中的特征名称。如果没有显示所有标签,请调整浏览器窗口中的缩放。
按计划类型显示流失结果最重要贡献因素的图表

或者,您可以通过为要分析的每个维度值创建带有集合表达式的单独图表来显示此数据。在这种情况下,您可以为四种计划类型中的每一种创建单独的图表。
个人客户 SHAP 分析
您可以使用集合分析为特定帐户 ID 创建特征重要性排名。在本例中,我们将为预期会流失的客户创建一个图表,为预期不会流失的客户建立一个图表。
在本练习中,您将需要一个预测会流失的客户和一个预测不会流失的客户的示例帐户ID。
执行以下操作:
-
在导航栏的准备下,切换到“数据管理器”。
-
在页面底部的数据预览表中,在 Customer churn data - apply_Prediction.AccountID 字段中找到一个值,该值在 Churned_predicted 字段中具有对应值 'yes'。在单独的文本编辑器中记录该值。
-
在 Customer churn data - apply_Prediction.AccountID 字段中查找一个值,该值在 Churned_predicted 字段中具有对应值 'no'。在单独的文本编辑器中记录该值。
首先,为预测数据集的流失字段中分配值为 Yes 的客户创建图表。
执行以下操作:
-
从资产面板中,将条形图拖到工作表上。
-
将图表标题命名为 SHAP importance for customer predicted to churn。
-
添加 automl_feature 作为维度,并将其标记为 Feature。
-
添加以下计算度量值:
=Sum({<AccountID={""}>}(SHAP_value))
在括号之间,粘贴预测客户流失的帐户 ID 的值(从前面的过程中)。
此集合表达式将过滤分析,以仅显示具有指定帐户 ID 的客户的预测影响因素。
-
将度量标记为 Average SHAP Value。
-
在“属性”面板的外观 > 演示下,删除滚动条(如果存在),并将图表方向从垂直设置为水平。
-
在外观 > 颜色和图例下,将颜色滑块从自动调整为自定义。为图表 By measure 着色。
选择一种颜色模式,以清楚地显示对预测结果有正面和负面影响的特征之间的对比。
-
将显示图例设置为关闭。
-
在排序下,如果尚未完成,请将度量拖到维度上方。将每个字段的排序保留为自动。
这将按度量值以降序对图表进行排序。
图表显示了预测客户流失的最重要贡献因素

接下来,为预测数据集的流失字段中分配值为 No 的客户创建图表。
-
从资产面板中,将条形图拖到工作表上。
-
将图表标题命名为 SHAP importance for customer predicted to not churn。
-
添加 automl_feature 作为维度,并将其标记为 Feature。
-
添加以下计算度量值:
=Sum({<AccountID={""}>}(SHAP_value))
在括号之间,粘贴预测客户未流失的帐户 ID 的值(从前面的过程中)。
此集合表达式将过滤分析,以仅显示具有指定帐户 ID 的客户的预测影响因素。
-
将度量标记为 Average SHAP Value。
-
在“属性”面板的外观下,删除滚动条,并将图表方向从垂直设置为水平。
-
在外观 > 颜色和图例下,将颜色设置为自定义和按度量。
选择一种颜色模式,以清楚地显示对预测结果有正面和负面影响的特征之间的对比。
-
将显示图例设置为关闭。
-
在排序下,如果尚未完成,请将度量拖到维度上方。将每个字段的排序保留为自动。
这将按度量值以降序对图表进行排序。
该图表应与下图相似。
图表显示了预测客户不流失的最重要贡献因素

您填写的工作表应与下面的表格相似。
在分析模式下的 SHAP 分析工作表

针对单个客户的集合分析的另一个有用的应用是在表达式中使用变量,通过变量输入控件可以快速筛选单个客户的预测。
第二个工作表:预测仪表板
第二个工作表将更多地关注每个客户的实际预测值。
执行以下操作:
-
创建新工作表,然后单击编辑工作表。
- 给工作表提供一个标题,例如 Predictions。
表格
创建一个标题为 Predictions by Account 的表,其中包含以下两个维度:
-
AccountID
-
Churned_predicted
通过单击每个列标题,将列标题重新命名为 Account ID 和 Predicted to Churn。调整表格大小以匹配下图。
帐户 ID 查找的预测表

此表允许您快速搜索各个帐户 ID,并立即查看所选客户是否会流失。也可以使用筛选器窗格创建此功能。
KPI 对象
KPI 是显示对数据特别重要的分析的单个值的好方法。在这里,我们将创建三个 KPI 图表。
执行以下操作:
-
创建空白 KPI 图表。添加以下度量:
=Count(Churned_predicted)
这将计算我们为其生成流失预测的客户总数。
-
将度量标记为 Total number of customers。
-
将数字格式设置为数字,并以 1000 格式显示值(不含小数或百分比值)。
-
创建另一个空白 KPI 图表。添加以下度量:
=Count({<Churned_predicted={"yes"}>}(Churned_predicted))
这是一个集合表达式,用于计算在 Churned_predicted 字段中显示 yes 值的次数。
-
将度量标记为 Predicted to churn。
-
使用与第一个 KPI 相同的设置配置图表的数字格式。
-
创建第三个空白 KPI 图表。添加以下度量:
=Count({<Churned_predicted={"no"}>}(Churned_predicted))
这用于计算在 Churned_predicted 字段中显示 no 值的次数。
-
将度量标记为 Predicted to stay。
调整 KPI 的大小和排列,使其看起来像下图中的 KPI。
显示预测度量的 KPI 对象

按计划类型预测的堆叠式条形图
要按类别字段(如计划类型)分析预测,可以创建一个条形图,将各个集合分析叠加在一起。
执行以下操作:
-
将条形图拖到工作表上,并将其标题命名为 Predictions by plan type。
-
将 PlanType 添加为维度。将其标记为 Plan type。
-
添加以下度量:
=Count({<Churned_predicted={"no"}>}(Churned_predicted))
将度量标记为 Predicted to Not Churn。
-
添加以下度量:
=Count({<Churned_predicted={"yes"}>}(Churned_predicted))
将度量标记为 Predicted to Churn。
-
在外观 > 演示下,将布局从成组更改为堆叠。
-
移除滚动条并将值标签设置为开。
-
将段标签和总计标签配置为自动。
条形图应与下图类似。
按计划类型预测的堆叠式条形图

用于分析单个数值字段值的分布图
分布图可用于通过具有不同数值的度量来显示预测数据。在本部分中,您将创建一个图表,按基本费用显示客户流失预测,并对客户任期进行不同分组。
请注意,尽管我们从实验中删除了 CustomerTenure 字段(因此不计入预测数据),但该字段仍然存在于数据模型中,因此我们可以使用它对图表中的数据进行排序。
执行以下操作:
-
将分布图拖到图纸上并将其标题命名为 Churn predictions by base fee and tenure。
-
添加 AccountID 作为点的维度。
-
在 x 轴上添加以下度量:
=Avg(BaseFee)
-
在 y 轴上添加以下计算维度:
=Round(CustomerTenure,10)
这将为每个近似的客户任期级别沿 y 轴创建分组。值越高,自客户开始服务经过的时间越长。
-
在外观 > 演示 下,将气泡大小减小到 20 并启用抖动点。
-
在颜色和图例中,将颜色设置为自定义。
-
选择按以下维度为数据着色的选项:
=Churned_predicted
这将为 Churned_predicted 字段中的每个值指定一种颜色。在这种情况下,将显示两种颜色。
-
将以下标签添加到自定义颜色设置中:Predicted to churn。
您的分布图将与下图中的分布图相似。
BaseFee 和 CustomerTenure 的客户流失预测分布图

通过用其他字段聚合代替 BaseFee 度量,可以为不同数值字段的分析创建类似的图表。
将工作表上的可视化配置为与下图相似的形式。
预测分析工作表

谢谢!
您已经完成本教程的学习。我们希望您已经学到了一些东西,并认识到自动机器学习是生成预测模型的快速而简单的方法。Qlik Sense 是一个强大的工具,它可以轻松可视化预测数据,并对数据提供有意义的见解。