前言
能熟练支撑微信广告推荐测试工作后,一直在思考测试在算法质量上还能做哪些事情
算法测试
现状
除了常规的框架版本测试,算法测试目前现状如下图:
在网上找了很久,没有一套成熟的算法质量体系;于是通过学习了解算法原理后,归纳如下:
罗列新增测试点:
- 平台拓扑检查: 进程占用、work数量合理等
- 算法拓扑检查: 能正常解析,无非法值、防止无法启动训练拓扑
- 算法 xml 测试: 能正常解析,加载、防止线上加载异常
- TDE 查询测试: 校验TDE 与现网配置一致性、防止错配无信息可查
- 模型加载测试: 模型文件与算法实现一致,正常加载、防止线上出现不匹配,系统core掉
- 训练数据与算法字段一致性: 预测代码和训练数据中响应字段具有较高一致性、避免错配,误写TDE查表逻辑
- 训练端与预测端预测结果一致性: 训练与预测是不同代码,潜在代码不一致风险,导致训练与预测对不起的BUG
- AUC 测试: 分类模型评估指标、值越大效果越好(0.5,1)、样本不均衡也能做出合理评价(0.5 ~ 0.7低;0.7 ~ 0.85一般;0.85 ~ 0.95很好;0.95 ~ 1非常好)
- 准确率:
- 精确率:
- 召回率:
- F1分数: , 是精准率与召回率的平衡点,也是需要的一个阀值
还有几个指标,考虑了一下,暂时先不放进来了。