首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scikit中应用()函数-学习可以做什么?

在scikit中应用()函数-学习可以做什么?
EN

Stack Overflow用户
提问于 2016-01-07 07:41:01
回答 2查看 1.2K关注 0票数 0

在科学工具包-学习新版本,有一个新的功能称为apply()梯度增强。我真的很困惑。

它喜欢facebook使用的方法:GBDT + LR吗?如果剂量,我们如何使它像GBDT + LR一样工作

EN

回答 2

Stack Overflow用户

发布于 2016-01-07 11:14:21

来自Sci-Kit文档

应用(X)将集合中的树应用于X,返回叶指数

该函数将输入数据X,其中的每个数据点(x)将应用于每个非线性分类器树。应用程序之后,数据点x将与其关联--它在每个决策树的最终位置上的叶子。此叶将有其关联的类(如果是二进制的话,则为1 )。

apply(X)返回上述信息,这是[n_samples, n_estimators, n_classes]表单的信息。

因此,apply(X)函数与梯度增强决策树+逻辑回归(GBDT+LR)分类和特征变换方法没有多大关系。它是将数据应用于现有分类模型的函数。

如果我在任何方面误解了你,我很抱歉,尽管你问题中的一些语法/语法错误使你很难理解。

票数 3
EN

Stack Overflow用户

发布于 2017-02-13 13:09:15

应用(X)返回树叶的原始索引,我认为需要将离散索引转换为一种热编码方式,然后执行lr步骤。例如,(X)将返回

代码语言:javascript
复制
[
 [[1], [2], [3], [4]],
 [[2], [3], [4], [5]],
 [[3], [4], [5], [6]]
]

其中n_samples = 3、n_estimators=4和n_classes=1。您必须首先知道gbm分类器中使用的每个树的数目。据我们所知,gbm使用sklearn决策树回归器,根据sklearn决策树回归器的应用函数,我们得到:

X_leaves : array_like = n_samples,对于X中的每个数据点X,返回叶x的索引。叶子是在[0; self.tree_.node_count)内编号的,可能在编号上有空白。

因此,您需要在其他索引中加入零。以上面的例子为例,如果第一棵树有tree_.node_count = 5,那么这三个样本的第一列应该转移到:

代码语言:javascript
复制
[
 [0, 1, 0, 0, 0],
 [0, 0, 1, 0, 0],
 [0, 0, 0, 1, 0]
]

相应地处理其他列,这样就可以得到所需的内容。希望它能帮到你!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34649751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档