2024-06-03 05:44:35 发布
网友
在scikit learn new version中,在梯度提升中有一个名为apply()的新函数。我真的很困惑。在
apply()
它喜欢facebook使用的方法:GBDT + LR? 如果剂量,我们如何使它像GBDT + LR一样工作?在
GBDT + LR
apply(X)返回树叶的原始索引,我认为您需要将离散索引转换为一种热编码样式,然后才能执行lr步骤。 例如,apply(X)将返回
[ [[1], [2], [3], [4]], [[2], [3], [4], [5]], [[3], [4], [5], [6]] ]
其中n_样本=3,n_估计量=4,n_类=1。 您必须首先知道gbm分类器中使用的每棵树的数目。众所周知,gbm使用sklearn决策树回归器,根据sklearn决策树回归器的应用函数,我们得到:
X_leaves : array_like, shape = [n_samples,] For each datapoint x in X, return the index of the leaf x ends up in. Leaves are numbered within [0; self.tree_.node_count), possibly with gaps in the numbering.
[0; self.tree_.node_count)
因此,您需要将零填充到其他索引中。以上例为例,如果第一棵树的tree_u.node_count=5,则三个样本的第一列应转移到:
相应地处理其他列,这样就可以得到您想要的。希望它能帮助你!在
来自Sci工具包文档
apply(X) Apply trees in the ensemble to X, return leaf indices
此函数将获取输入数据X,其中的每个数据点(X)将应用于每个非线性分类器树。在应用程序之后,数据点x将与每个决策树的最终叶子相关联。此叶将有其关联的类(如果是二进制,则为1)。在
apply(X)返回上述信息,格式为[n_samples, n_estimators, n_classes]。在
apply(X)
[n_samples, n_estimators, n_classes]
因此,apply(X)函数与梯度增强决策树+逻辑回归(GBDT+LR)分类和特征转换方法没有多大关系。它是将数据应用于现有分类模型的功能。在
很抱歉,如果我误解了你的意思,尽管你问题中的一些语法/语法错误使你更难破译。在
apply(X)返回树叶的原始索引,我认为您需要将离散索引转换为一种热编码样式,然后才能执行lr步骤。 例如,apply(X)将返回
其中n_样本=3,n_估计量=4,n_类=1。 您必须首先知道gbm分类器中使用的每棵树的数目。众所周知,gbm使用sklearn决策树回归器,根据sklearn决策树回归器的应用函数,我们得到:
因此,您需要将零填充到其他索引中。以上例为例,如果第一棵树的tree_u.node_count=5,则三个样本的第一列应转移到:
^{pr2}$相应地处理其他列,这样就可以得到您想要的。希望它能帮助你!在
来自Sci工具包文档
此函数将获取输入数据X,其中的每个数据点(X)将应用于每个非线性分类器树。在应用程序之后,数据点x将与每个决策树的最终叶子相关联。此叶将有其关联的类(如果是二进制,则为1)。在
apply(X)
返回上述信息,格式为[n_samples, n_estimators, n_classes]
。在因此,
apply(X)
函数与梯度增强决策树+逻辑回归(GBDT+LR)分类和特征转换方法没有多大关系。它是将数据应用于现有分类模型的功能。在很抱歉,如果我误解了你的意思,尽管你问题中的一些语法/语法错误使你更难破译。在
相关问题 更多 >
编程相关推荐