联系人建模困难,缺乏行为数据?了解一下联系人倒排表特征吧( 二 )


联系人建模困难,缺乏行为数据?了解一下联系人倒排表特征吧
本文插图
表三:联系人倒排关系表
2. 用户特征表
用户特征表是一张用户对应的常规特征表 , 和我们构建风控评分卡时使用的常规特征表一样 。 主键是用户本身 , 包含一些用户的重要常规特征 , 甚至可以包含该用户行为评分卡的分数 , 如表四所示 。
表四:用户特征表
3. 联系人倒排用户特征表
倒排用户特征表是由倒排关系表和用户特征表 , 以用户为key , 合成的表 , 如表五所示 。 联系人倒排用户特征表中的主键依然是联系人电话 , 每行数据对应了这个电话关联到的用户和该用户的特征 。
联系人建模困难,缺乏行为数据?了解一下联系人倒排表特征吧
本文插图
表五:联系人倒排用户特征表
4. 联系人倒排特征最终表
倒排特征最终表是使用倒排用户特征表计算 。 在联系人倒排特征最终表中计算方法是通过group by主键 , 求电话关联到所有用户的特征的mean值 , max值或者比例 。
如表六所示 , 联系人倒排特征最终表的主键依然是联系人电话 , 每行数据代表了该电话关联到的用户的统计特征 。
表六:联系人倒排特征最终表
下文会介绍在离线训练和线上预测时如何使用倒排特征最终表生成倒排表特征 。
三、联系人倒排表特征的使用
1. 离线计算与训练的使用
在训练模型之前 , 需要先离线计算好倒排特征最终表 。
在训练时 , 按用户数据关联倒排特征最终表中的主键 , 如图四所示 。 最后 , 在训练模型时把关联到的倒排表特征按照普通特征放入模型中即可 。 这里有很多坑点 , 请参考下文的总结与坑点 。
联系人建模困难,缺乏行为数据?了解一下联系人倒排表特征吧
本文插图
图四:线上倒排表特征使用流程
2. 线上实时使用
线上实时使用倒排表特征也需要提前生成好倒排特征最终表 。
如图五所示 , 线上新用户申请时 , 用线上用户数据去查倒排特征最终表 。 从而生成该用户的倒排表特征 , 再放入线上评分卡模型中预测分数 。
联系人建模困难,缺乏行为数据?了解一下联系人倒排表特征吧
本文插图
图五:线上倒排表特征使用流程
四、总结与坑点
1. 总结
本文中介绍了 , 为了解决在构建申请评分卡时申请用户因为缺乏行为数据而使得模型构建困难的问题 , 使用了倒排表特征 。 倒排表是一个可以挖掘用户关系的特征构建方向 , 通常在构建模型中占据着重要地位 。
2. 坑点
构建倒排表特征时有非常多坑点 , 这里总结了几个供大家参考:
1)坑点1:线上和线下电话存输格式不一
在构建联系人倒排关系表时 , 原始数据来源于通讯录数据或者电商产品购买数据 。
在这些数据里面的电话可能是没有加国家和地区号的 , 但线上传输数据是有可能是加了国家和地区号的电话 , 这里一定要注意先统一规划好电话号格式 。
2)坑点2:使用未来数据
构建离线训练模型的倒排特征最终表时 , 要注意构建的倒排关系表和用户特征表这两张表都应该有观察截止时间 , 并且关系和数据都应该只使用在观察截止时间前的数据 。
3)坑点3:训练数据中 , 放入自己关联自己的数据
使用倒排表特征的目的是让新用户在申请时多一点关联特征 , 所以 , 我们在训练的时候也要尽量模拟新用户申请的场景 。
如果我们使用的是老用户去模拟新用户构建模型的情况 , 请一定记得在离线特征生成时去掉自己关联自己的数据 , 防止模型过拟合 。
例如:电商下单数据中用户给自己下的单 , 不应该出现在离线训练的倒排关系表里面 。


推荐阅读