决策树与Logistic回归相结合

时间:2017-01-17 08:16:18

标签: machine-learning classification linear-regression logistic-regression decision-tree

基本上我的问题与以下论文有关(只需阅读第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 001class 10 / {{对于第二棵树,但是在该方案中,树的输出被组合成二进制串,该二进制串被馈送到线性分类器。所以目前尚不清楚如何训练这些决策树?我们所拥有的是前面提到的向量 x 和单击/无单击,它是线性分类的输出,而不是树

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

对我来说,您需要通过最小化对数损失标准(二进制分类)来执行提升决策树。一旦你训练了你的树木(假设你有2棵树有3和2片叶子)。然后,对于每个实例,您预测每棵树的叶索引

实施例 如果对于实例,您获得树1的叶1和第二树的叶2。 IE得到一个(1,0,0,0,1)的向量,它是一个二进制向量而不是String。然后你有两个策略:

  1. 您在树木预测结果上训练线性分类器(例如:逻辑回归),您的数据集具有维度(N * 5),其中N是您的实例数。您将训练二进制数据的逻辑回归。

  2. 将维度5的向量与初始要素向量连接起来,然后执行线性分类器。您将对实数和二进制数据进行逻辑回归。