0
点赞
收藏
分享

微信扫一扫

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

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


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


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


​​lightGBM用于排序(Learning to Rank )​​


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


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

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


代码及运行教程 获取:


模型训练


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





不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

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


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

 搜索公众号添加: datanlp

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

举报

相关推荐

0 条评论