基本上我的问题与以下论文有关(只需阅读第1.Introduction
部分,第3.Prediction model structure
部分和部分3.1 Decision tree feature transforms
,其他所有内容都可以跳过)
https://pdfs.semanticscholar.org/daf9/ed5dc6c6bad5367d7fd8561527da30e9b8dd.pdf
本文认为,与使用ONLY决策树或线性分类(不是两者)相比,二元分类在组合决策树+线性分类(例如逻辑回归)的情况下可以表现出更好的性能
简单地说,诀窍是我们有几个决策树(假设2棵树为简单起见,第一棵树有3个叶节点,第二棵树有2个叶节点)和一些实值特征向量 x 作为所有决策树的输入
所以,
- 如果第一棵树的决定是leaf node 1
而第二棵树的决定是leaf node 2
,那么线性分类器将收到二进制字符串[ 1 0 0 0 1 ]
- 如果第一棵树的决定是leaf node 2
而第二棵树的决定是leaf node 1
,那么线性分类器将收到二进制字符串[ 0 1 0 1 0 ]
等等
如果我们只使用决策树(没有线性分类),显然我们会为第一棵树class 100
/ class 010
/ class 001
和class 10
/ {{对于第二棵树,但是在该方案中,树的输出被组合成二进制串,该二进制串被馈送到线性分类器。所以目前尚不清楚如何训练这些决策树?我们所拥有的是前面提到的向量 x 和单击/无单击,它是线性分类的输出,而不是树
有什么想法吗?
答案 0 :(得分:2)
对我来说,您需要通过最小化对数损失标准(二进制分类)来执行提升决策树。一旦你训练了你的树木(假设你有2棵树有3和2片叶子)。然后,对于每个实例,您预测每棵树的叶索引。
实施例 如果对于实例,您获得树1的叶1和第二树的叶2。 IE得到一个(1,0,0,0,1)的向量,它是一个二进制向量而不是String。然后你有两个策略:
您在树木预测结果上训练线性分类器(例如:逻辑回归),您的数据集具有维度(N * 5),其中N是您的实例数。您将训练二进制数据的逻辑回归。
将维度5的向量与初始要素向量连接起来,然后执行线性分类器。您将对实数和二进制数据进行逻辑回归。