机器学习AI算法工程   公众号:datayx

  去年实习时,因为项目需要,接触了一下Learning to Rank(以下简称L2R),感觉很有意思,也有很大的应用价值。L2R将机器学习的技术很好的应用到了排序中,并提出了一些新的理论和算法,不仅有效地解决了排序的问题,其中一些算法(比如LambdaRank)的思想非常新颖,可以在其他领域中进行借鉴。鉴于排序在许多领域中的核心地位,L2R可以被广泛的应用在信息(文档)检索,协同过滤等领域。

  本文将对L2R做一个比较深入的介绍,主要参考了刘铁岩、李航等人的几篇相关文献,我们将围绕以下几点来介绍L2R:现有的排序模型,为什么需要使用机器学习的方法来进行排序,L2R特征的选取,L2R训练数据的获取,L2R训练和测试,L2R算法分类和简介,L2R效果评价等。


利用lightgbm做learning to rank 排序,主要包括:

  • 数据预处理
  • 模型训练
  • 模型决策可视化
  • 预测
  • ndcg评估
  • 特征重要度
  • SHAP特征贡献度解释
  • 样本的叶结点输出

(要求安装lightgbm、graphviz、shap等)

代码及运行教程 获取:

关注微信公众号 datayx  然后回复  排序  即可获取。

AI项目体验地址 https://loveai.tech

模型训练

python lgb_ltr.py -train

利用lightgbm做learning to rank 排序,解析模型中特征重要度_机器学习

模型决策过程的可视化生成

可指定树的索引进行可视化生成,便于分析决策过程

利用lightgbm做learning to rank 排序,解析模型中特征重要度_机器学习_02

利用SHAP值解析模型中特征重要度

python lgb_ltr.py -shap

这里不同于六中特征重要度的计算,而是利用博弈论的方法--SHAP(SHapley Additive exPlanations)来解析模型。利用SHAP可以进行特征总体分析、多维特征交叉分析以及单特征分析等。

1.总体分析

利用lightgbm做learning to rank 排序,解析模型中特征重要度_人工智能_03

利用lightgbm做learning to rank 排序,解析模型中特征重要度_深度学习_04

2.多维特征交叉分析

利用lightgbm做learning to rank 排序,解析模型中特征重要度_人工智能_05

3.单特征分析

利用lightgbm做learning to rank 排序,解析模型中特征重要度_人工智能_06



 搜索公众号添加: datayx  

利用lightgbm做learning to rank 排序,解析模型中特征重要度_人工智能_07


机大数据技术与机器学习工程

 搜索公众号添加: datanlp

利用lightgbm做learning to rank 排序,解析模型中特征重要度_深度学习_08

长按图片,识别二维码