利用GBDT模型构造新特征具体方法

实际问题中,可直接用于机器学习模型的特征往往并不多。能否从“混乱”的原始log中挖掘到有用的特征,将会决定机器学习模型效果的好坏。引用下面一句流行的话:

特征决定了所有算法效果的上限,而不同的算法只是离这个上限的距离不同而已。

本文中我将介绍Facebook最近发表的利用GBDT模型构造新特征的方法。

(Xinran He et al. Practical Lessons from Predicting Clicks on Ads at Facebook, 2014)

论文的思想很简单,就是先用已有特征训练GBDT模型,然后利用GBDT模型学习到的树来构造新特征,最后把这些新特征加入原有特征一起训练模型。构造的新特征向量是取值0/1的,向量的每个元素对应于GBDT模型中树的叶子结点。当一个样本点通过某棵树最终落在这棵树的一个叶子结点上,那么在新特征向量中这个叶子结点对应的元素值为1,而这棵树的其他叶子结点对应的元素值为0。新特征向量的长度等于GBDT模型里所有树包含的叶子结点数之和。

举例说明。下面的图中的两棵树是GBDT学习到的,第一棵树有3个叶子结点,而第二棵树有2个叶子节点。对于一个输入样本点x,如果它在第一棵树最后落在其中的第二个叶子结点,而在第二棵树里最后落在其中的第一个叶子结点。那么通过GBDT获得的新特征向量为[0, 1, 0, 1, 0],其中向量中的前三位对应第一棵树的3个叶子结点,后两位对应第二棵树的2个叶子结点。

那么,GBDT中需要多少棵树能达到效果最好呢?具体数字显然是依赖于你的应用以及你拥有的数据量。一般数据量较少时,树太多会导致过拟合。在作者的应用中,大概500棵左右效果就基本不改进了。另外,作者在建GBDT时也会对每棵树的叶子结点数做约束——不多于12个叶子结点。

下面是这种方法在我们世纪佳缘的一个概率预测问题上的实际效果。我们只使用了30棵树。第一个图是只使用原始特征的结果,第二个图是原始特征加GBDT新特征的结果。图中横坐标表示预测概率值,纵坐标表示真实概率值。所以预测的点越靠近y=xy=x这条参考线越好。显然,使用了GBDT构造的新特征后,模型的预测效果好不少。

已经有人利用这种方法赢得了Kaggle一个CTR预估比赛的冠军,这种方法的具体实现代码可见 https://github.com/guestwalk/kaggle-2014-criteo


原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2016-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习之旅

理论:随机森林-枝剪问题

剪枝的意义是:防止决策树生成过于庞大的子叶,避免实验预测结果过拟合,在实际生产中效果很差

622
来自专栏python读书笔记

《算法图解》note 9 动态规划1.动态规划定义2.与分治法及贪婪算法的区别3.动态规划的后续学习

1405
来自专栏人工智能

决策树及ID3算法学习

决策树是一种用树形结构来辅助行为研究、决策分析以及机器学习的方式,是机器学习中的一种基本的分类方法。

1.4K16
来自专栏深度学习自然语言处理

实例讲解决策树分类器

决策树是一种简单高效并且具有强解释性的模型,广泛应用于数据分析领域。其本质是一颗由多个判断节点组成的树,如:

814
来自专栏量化投资与机器学习

【Python机器学习】信息熵和在决策树中的运用(附源码)

之前在【Python机器学习】系列五决策树非线性回归与分类(深度详细附源码)一期中, 我们提到了用熵来度量信息的不确定性和信息增益。今天我们来详细解读一下什么是...

1917
来自专栏AI科技评论

科普|机器学习中决策树的原理与算法

AI科技评论按:本文作者栗向滨,中科院自动化所复杂系统国家重点实验室研究生毕业,机器学习与计算机视觉方向算法工程师。雷锋网首发文章。 我们知道,在机器学习中有两...

3436
来自专栏SIGAI学习与实践平台

理解决策树

决策树是最简单的机器学习算法,它易于实现,可解释性强,完全符合人类的直观思维,有着广泛的应用。决策树到底是什么?简单地讲,决策树是一棵二叉或多叉树(如果你对树的...

433
来自专栏机器学习算法与Python学习

机器学习(12)之决策树总结与python实践(~附源码链接~)

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 前言 在(机器学习(9)之ID3算法...

63911
来自专栏智能算法

分类回归树算法---CART

一、算法介绍 分类回归树算法:CART(Classification And Regression Tree)算法也属于一种决策树,和之前介绍了C4.5算法相...

3159
来自专栏人工智能

从零学习:详解基于树形结构的ML建模——决策树篇

来源:Analytics Vidhya 编译:Bot 编者按:通常,我们会把基于树形结构的学习算法认为是最好的、最常用的监督学习方法之一。树能使我们的预测模型集...

2079

扫描关注云+社区