数据诊断

PAI-Rec推荐开发平台中,对用户表、物品表、行为表做数据诊断是一个非常重要的步骤,它确保了哪些特征可以用到特征工程中,一些离散化参数怎么设置,需要统计多少天的数据用于得到用户偏好特征和物品特征,需要多少天的数据用于训练样本等等。

在做数据诊断时需要先注册数据表,即把MaxCompute中已有的用户属性表、物品属性表、用户行为表注册到“推荐方案定制”的“数据注册”模块。

注册好数据表之后,接下来介绍创建数据诊断、查看任务日志、查看诊断报告:

一、数据诊断

在数据诊断页面,在“任务管理”页面中点击“新增诊断任务”,创建数据诊断任务:

image

在“新增诊断任务”页面,有五种诊断类型:物品或用户变化率分析用户偏好统计周期分析两表关联分析基础统计分析异常行为分析。

image

具体的任务介绍如下:

任务类型

说明

基础统计分析

用于分析字段的取值分布、缺失率等,在特征工程中不使用缺失率高、取值异常的特征。针对异常的特征,应排查日志上传、存储、清洗是否有问题。

物品或用户变化率分析

可以分析用户表或者物品表。例如分析用户表的user_id字段,统计每日的增加和减少的数量、比例。如果新用户很多,需要考虑新用户推荐策略;如果每日增加的物品数量很多,需要考虑物品冷启动的推荐策略。

用户偏好统计周期分析

曾现率:在T日来访的用户中(作为分母),在[T-k,T-1]天曾经来访的用户数(作为分子),计算k日曾现率。期望通过调整k找到曾现率是80%或者90%的k1、k2值,用于后续设置特征工程计算用户偏好特征和统计训练样本天数。当k2天的曾现率低于90%时,对于剩下的10%用户需要考虑冷启动策略。

k天的留存率:根据用户行为表计算在T日来访的用户中(作为分母),在T+k天仍然来访的用户数(作为分子),计算k日留存率。

两表关联分析

用于检查行为数据的可用性、id唯一性,特征是否可用等。有可能行为表关联物品表,发现很多物品的特征取值都是为空,需要分析为空的原因。

异常行为分析

针对用户行为表做数据分析,其中先定义了上下游行为,上游行为是指“曝光”,下游行为是指“点击”或“加购”;上游行为是“点击”,则下游行为是“点赞”、“评论”。如果需要同时分析上面两组上下游行为,则要创建两个诊断的任务。

对应某些用户、物品的曝光次数过高、或者转化率过高,需要分析这些用户的日志。

二、任务日志

image.png

在创建完诊断任务后,可在数据诊断页面中的任务日志点击右侧刷新按钮看到任务的进度,同时日志页面还可以查看任务的日志代码和在创建任务时的配置代码。

重要

一个业务时间为一行日志,如果选了7天的数据就是7行。

image.png

image.png

三、诊断报告查看

查看诊断报告在数据诊断页面每一个任务后的操作栏中点击诊断报告即可查看。

image.png

点击进入诊断报告页面,页面中会显示此报告的类型、任务名称与用到数据表,时间窗口默认选择为近14天的时间,显示日期为近14天的日期间隔(如:2023-08-222023-09-05,不包括当天的日期),也可选择近7天的窗口时间。如果需要查看其它时间间隔报告可在时间栏中选择需要的时间日期,同时页面加载完毕后已告知最近14天中数据中缺少数据的时间窗口日期,若数据表中已补全数据则可点击创建重跑任务,进入创建重跑任务页面,其中的任务类型、数据表、任务名称与重跑日期以默认设置号,无需修改,点击确定即可重跑当前数据诊断任务;如若不需要补全数据点击忽略即可查看当前任务诊断报告。

如若选择时间窗口为最近7天,点击开始诊断后,页面中会显示此段时间中缺少数据的时间窗口日期,此时选择操作区刚进入页面默认加载最近14天数据操作一致。

image.png

image.png

后面的几篇文章再分别介绍数据诊断任务的报告内容。