数据诊断

概述

在推荐系统和推荐算法中,好的数据质量是好的推荐效果的前提条件。数据诊断提供对用户表,物品表,行为表的数据的智能探查,告警数据中可能存在质量问题,并为提高数据完整性以及质量提供后续改进的建议。 目前数据诊断支持 5 种诊断任务。分别为:

  • 基础统计分析。分析特征的各方面基础统计信息,如 数据总量, 取值数, 空值数, 特征取值的百分位数, 特征取值频数的的百分位数 (包括最大值, 最小值, 中位数),取值和取值频数的 等距分桶 数据分布直方图等。

  • 物品/用户 变化率分析。分析每天的 用户 或者 物品 的增加/减少量 和 增加/减少率。

  • 用户留存率分析。分析用户的 周期(T+k天内)存留率 和 单天(第T+k天)留存 [仅适用于行为表]。

  • 两表关联分析。分析两表关联时,关联字段各自没有关联上的数量所占比例,并分析在各个维度上的关联异常。

  • 异常行为分析。分析有上下游依赖的行为中,行为异常的情况,如有点击没有曝光等 [仅适用于行为表]。

下面基于示例数据以 **基础统计分析 **为例具体讲解下诊断步骤

使用流程

1.新建任务:

在运维与实验操作台的 数据诊断 > 任务管理页面新增基础统计分析任务,选择和填写相应的配置字段,如数据表为rec_sln_demo_user_table,Tag字段为tags。并可以设置是否周期运行,周期运行将会在每天凌晨定时运行诊断任务!
image.png

2.执行任务:

勾选已有的任务,点击数据重跑选择一个补数据周期,选择完成后点击确认。
image.png

3.查看日志:

数据诊断 > 任务日志页面可以看到数据诊断任务的运行日志
image.png

4.诊断报告:

数据诊断 > 任务管理页面,点击相应任务的诊断报告,可以查看具体任务的诊断报告
image.png

数据诊断与应用:

1.根据基础分析可以去掉一些特征

如果某个特征的缺失率太高,例如高于90%,我们可以去掉这个特征。
如果用户或者物品的某个特征只有一个值,我们也可以去掉这个特征。

2.根据用户增加率确定新用户或者新物品的策略

如果用在增加率特别大,这考虑新用户推荐策略。
如果新物品增加率特别大,需要考虑新物品的推荐策略。

3.根据用户留存率、用户曾现率确定训练时间窗的大小

** 如果对t日,t日之前30天的用户曾现率是80%,而t日之前40天的用户曾现率是82%。则我们可以选择30天作为行为数据的时间窗。因为多用10天的数据带来的覆盖率并不是很高。**

4.根据异常数据来确定是否需要去除异常用户和用户

例如某些用户访问次数大于100万,或者点击次数大于1000,认为这些用户是不正常的,放在训练样本中会降低训练样本的质量,因此设定一些阈值来清洗掉特殊的用户。清洗的代码要在准备训练行为表的时候提前去掉。