预测服务基于华为分析服务(Analytics Kit)上报的用户行为数据和属性,结合机器学习技术,实现特定目标人群的精准预测。针对预测生成的细分受众群体,开展和优化相关运营举措,如经过A/B测试评估运营活动效果、远程配置特定受众群体的专属套餐等,可有效帮助产品提升用户留存,增长转化。git
使用预测服务前,须要先集成华为分析服务的SDK,这样系统才能够顺利开展流失、付费、复购以及自定义预测任务。在详情界面能够查看相关预测人群的高中低几率对应人群数量,及其相应的属性分布(好比详情页的高几率流失人群,表示该人群在将来7日内有较高几率流失,您能够经过相关卡片,观察其行为特色并制定针对性运营计划)。github
预测任务和预测详情界面以下所示:网络
*数据为模拟机器学习
预测模型构建流程
在构建预测模型的时候,首先是肯定咱们要预测什么,即确立预测的统计口径,而后根据统计口径围绕用户特色寻找对应相关的特征,经过清洗和采样获得数据集。咱们把数据集二八分获得训练集和验证集,在线下进行不断实验找到最优特征和参数,最后根据相关数据在线上调度训练预测任务。ide
具体流程图以下所示:学习
特征、模型选择和调优
特征探索测试
项目初期,咱们分析数据,从属性、行为、需求三方面入手,寻找与业务有可能相关的变量,构建特征表,好比用户近7天的活跃天数、使用时长等行为数据。优化
在肯定特征以后,下一步就是在实验中进行模型的选择和调优了,业界经常使用的树形模型有xgboost、随机森林、GBDT等,把咱们的数据集用这几种模型进行训练,发如今随机森林上效果较好,其采用bagging策略提升模型拟合能力和泛化能力。ui
除了模型参数,也要考虑采样比,尤为是对于付费预测这种正负样本悬殊的状况(大约1:100),综合考虑Accuracy和Recall, 付费训练时将正负样本比例采样至1.5:1, 以提升模型付费用户召回率。url
超参与特征确立
训练出了合适的模型,但并不是全部特征都是有用的,无用特征除了可能会影响模型效果,也会减慢训练速度。在初期版本中,经过实验肯定合适的超参和特征,特征按照特征重要性排序选择权重较大的,在线上版本中配置对应的超参和特征。
在版本上线以后还须要不断观察数据、分析数据、补充特征,咱们在后续版本中主要新增了事件特征与趋势特征,补充后总计400+特征。
自动超参搜索
在挖掘出更多的特征以后,若是都是全量特征训练可能效果未必会好,并且也会很是耗时。同时,可能每一个App训练时可能最优的超参和特征并不相同,最好是每一个App分开训练且使用本身最优的超参和特征。
为了解决这些问题,咱们增长了自动的超参搜索,能够在配置好的参数空间里搜索,找到并保存合适的训练参数。搜索完以后的最优超参保存在以下结构的hive表中。
当前的总体流程以及外部依赖以下所示:
将来方向
在将来提升模型效果上,咱们也有不少思考,预研的方向大体以下:
- 神经网络
当前的特征规模不断扩大(400+),而用户行为的规律又十分复杂,除了使用原有的树形模型,也在尝试利用神经网络强大的表达能力,结合行为特征训练出更准确的预测模型。
- 联邦学习
对于各App、各租户数据不可互通的问题,能够经过横向联邦学习联合各个App、各个租户间的模型,在数据不互通的前提下协同训练。
- 时序特征
不一样App的用户每周上报数百个事件(涵盖1000+种类),访问近百个页面,经过这些时序数据能够构造出不一样用户的长短时间行为特征,提升不一样场景预测的准确率。用户访问页面的行为有较高的时序特色,能够加工成时间序列特征,有较高的研究价值。
- 特征挖掘和加工
对目前的特征集扩充、补充,一方面挖掘更多的相关特征好比平均使用间隔、设备属性、安装渠道、国家省市等特征。另外一方面基于现有特征经过离散化、归一化、开方、平方、笛卡尔积、多重笛卡尔积等等方法构造更多新特征。
>>了解更多华为预测服务详情
>>访问华为开发者联盟官网,了解更多相关内容
>>获取开发指导文档
>>华为移动服务开源仓库地址:GitHub、Gitee
点击右上角头像右方的关注,第一时间了解华为移动服务最新技术