向AI转型的程序员都关注了这个号????????????

机器学习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等)

代码及运行教程 获取:

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

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

模型训练

python lgb_ltr.py -train

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

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

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

python lgb_ltr.py -shap

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

1.总体分析

2.多维特征交叉分析

3.单特征分析


阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

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

 搜索公众号添加: datayx  


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

 搜索公众号添加: datanlp

长按图片,识别二维码

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

  1. 用 XGBoost 做 Learning To Rank

    说到learning to rank,大家应该都比较熟悉,但是说到用XGB做learning to rank,很少有人实现过.举个例子,比方说赛马,我们可以基于马的个头,体重,历史战绩等信息,建立XG ...

  2. LTR (Learning to Rank): 排序算法 poitwise, pairwise, listwise常见方案总结

    目录 1 Learing to Rank介绍 2 The Pointwise Approach 3 The Pairwise Approach 3.1 RankNet 4 The Listwise A ...

  3. lightGBM用于排序(Learning to Rank )

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx Learning to Rank 简介 去年实习时,因为项目需要,接触了一下Learning ...

  4. Learning to rank基本算法小结

    最近工作中需要调研一下搜索排序相关的方法,这里写一篇总结,总结记录一下几天的调研成果.包括 Learning to rank 基本方法 Learning to rank 指标介绍 LambdaMART ...

  5. 【学习排序】 Learning to Rank中Pointwise关于PRank算法源码实现

    最近终于忙完了Learning to Rank的作业,同时也学到了很多东西.我准备写几篇相关的文章简单讲述自己对它的理解和认识.第一篇准备讲述的就是Learning to Rank中Pointwise ...

  6. 机器学习排序之Learning to Rank简单介绍

     机器学习排序之Learning to Rank简单介绍 标签: Learning to Rank学习排序PointwisePairwiseListwise 2015-01-03 21:50 23 ...

  7. LTR学习排序 Learning to Rank 小结

    出处:http://blog.csdn.NET/nanjunxiao/article/details/8976195 学习排序(Learning to Rank) LTR(Learning toran ...

  8. 学习排序 Learning to Rank:从 pointwise 和 pairwise 到 listwise,经典模型与优缺点

    Ranking 是信息检索领域的基本问题,也是搜索引擎背后的重要组成模块.本文将对结合机器学习的 ranking 技术--learning2rank--做个系统整理,包括 pointwise.pair ...

  9. 【学习排序】 Learning to Rank 中Listwise关于ListNet算法讲解及实现

    前一篇文章"Learning to Rank中Pointwise关于PRank算法源码实现"讲述了基于点的学习排序PRank算法的实现.该篇文章主要讲述Listwise Appro ...

最新文章

  1. python真的超过java了吗-java会被python淘汰吗?
  2. openflow多级流表机制的优点?
  3. 2018年第九届蓝桥杯 - 省赛 - Java大学A组 - A.复数幂
  4. 记一次Sentry部署过程
  5. Python关于中文字符前面的u(转载)
  6. ASP.NET中的AJAX应用开发详解
  7. ajax 文件上传,ajax
  8. 对文件、字符串和byte数组进行MD5加密
  9. 微信支付之获取code
  10. java 幂函数_java的math常用方法
  11. 海康威视的视频web端(vue开发)的实时预览、录像回放和页面拖拽
  12. hive 窗口函数(开窗函数)
  13. 备份蓝光光盘玩具总动员3,且Eclipse
  14. 计算机应用基础统考试题及答案题库,2.Windows知识题部分--计算机应用基础统考试题库及答案...
  15. windows10如何修改pin码?
  16. 虚拟化技术原理(CPU、内存、IO)
  17. 【高级篇】详解Zookeeper客户端Curator
  18. 使用CAPL 内置函数 memcpy 和memcmp 处理数组的若干问题
  19. 基于 RTS 超低延时直播优化强互动场景体验
  20. 判定覆盖 与 条件覆盖 的区别

热门文章

  1. react native 问题点
  2. 使用pymongo需要手动关闭MongoDB Connection吗?
  3. Linux学习之二十、循环
  4. hdoj 3400 三分
  5. 按钮控制android progressbar,Android ProgressBar手动控制开始和停止
  6. linux 输入法错误,Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
  7. form表单提交按钮点击事件先触发还是提交数据先触发_如何实现图片上传并保存到数据库?...
  8. python中的cls到底指的是什么,与self有什么区别?
  9. java21天打卡-day14 日期时间
  10. 别天天看看直播了,你知道如何用jmeter对直播间做压测吗