预测分析包括数据挖掘、预测建模和机器学习等多种统计技术,大数据要学什么,分析当前和历史事实,对未来或其他未知事件作出预测。
预测分析是一个统计领域,处理从数据中提取信息,并用它来预测趋势和行为模式。
客户流失是指当客户(玩家、订户、用户等)停止使用时与公司的关系。在线业务通常将客户视为被搅动的客户,一旦客户与网站或服务的最后一次交互经过了特定的时间。客户流失的全部成本包括收入损失和用新客户替换这些客户所涉及的营销成本。减少客户流失是每个在线业务的一个关键业务目标。
能够预测特定客户处于流失的高风险中,同时还有时间做些什么,对每一个企业来说都是一个巨大的额外潜在收入来源。
本客户流失分析教程将教您如何对在线商店进行客户流失分析。
本教程的数据集在这里可用。
以下教程是在这种环境下完成的:
BW 7.5 SP07(内置BPC 10.1),HANA 1.0 SP12(修订版122)
在开始之前,请确保您具有以下角色。
安全
AFL\uU SYS\u AFL\u AFLPAL\u EXECUTE
AFL\uU SYS\u AFL\u AFLPAL\u EXECUTE\u WITH\u GRANT\u选项
2。生成或删除PAL程序:
AFLPM\u CREATOR\u ERASER\u EXECUTE
3。PAL程序可以在任何模式下创建,只要您有创建任何权限。
让本例中数据库的用户为PALUSER。
关于数据集和使用的预测模型
基于这些数据,我们希望预测哪些客户最有可能流失。为了在历史数据中找到模式并训练此模型,使用以下数据集:
下载的数据集被分成两个不相等的部分:
没有合同活动的验证数据集用于验证,结果与另一个副本中的实际值相匹配。
现在我们下载了数据集并知道练习中使用的预测模型;让我们开始动手操作。
培训阶段
首先,我们将创建一个决策树,并使用培训数据集对其进行培训。
在HANA Studio中打开SAP HANA modeler透视图。在"快速查看"中单击"导入"。选择"本地文件中的数据">>选择目标系统>>定义导入属性如下
管理表定义和映射如下:
这里第一列是主键,只能是整数或Bigint
PAL函数不支持小数,导入时需要将所有小数改为双精度
选择存储类型=列存储。单击Next;文件将被导入。同样,导入表名为"crumervaliddata"的验证数据集表
2。正在为生成的JSON和PMML模型创建类型。
3。创建过程用于设置PAL功能配置的控制表的类型。
PAL过程将需要一个指定过程输入/输出的签名。
以下是创建签名表的格式。
然后我们在表中插入值。
要创建我们将使用的过程"AFLLANG_WRAPPER_PROCEDURE_CREATE"过程"。
AFLLANG_WRAPPER_PROCEDURE_CREATE的语法:
Param 1:始终设置为AFLPAL。
Param 2:我们的过程用于生成决策树模型的PAL函数。
Param 3:创建类型和表的模式名。
Param 4:程序的用户定义名称。
参数5:程序的签名。
1。这里临时控制表保存PAL函数CREATEDT.
2使用的参数。插入参数值。
我们将调用我们的过程,轻淘客,并根据定义的签名传递参数。
语法:
验证阶段
现在我们已经训练了模型并得到了决策树的JSON模型。我们可以使用它来预测新数据。
我们将使用PREDICTWITHDT PAL函数来预测新数据的类。
我们已经在训练模型阶段导入了验证数据集。
1。正在为验证数据创建类型。这里我们不包括"ContractActivity"字段
2。为输入JSON和PMML模型创建类型。我们也可以重用训练阶段创建的相同模型类型。
3。为结果表创建类型。结果表将在id列中保存客户id,"合同活动"将被分配到"CLASSLABEL"字段,落入该类的概率被分配到PROB字段。
为什么结果表有这种结构?
因为每个PAL函数都有一个预定义的结果表结构。
4。为过程用于设置PAL函数配置的控制表创建类型。我们可以重用在训练阶段创建的PAL\u和control\u T。
在这个过程中,我们将给出3个输入:验证数据集、PAL函数的控制参数和训练的JSON模型。过程将返回一个结果表,它将保存类(active,新客户所属的类别。
这里我们看到ID被分类为活动或流失,它属于该类别的概率在PROB字段中显示。
交叉验证
现在我们已经预测了验证数据集的合同活动,现在是交叉验证预测数据集的时候了与"真实验证值"表中的真实值相同的值。
交叉验证在excel中完成,可在数据集的"最终输出"表中看到。在这里,结果表数据与验证数据交叉验证,准确率在底部计算。