基本上我的问题与以下论文有关(仅阅读1.Introduction
部分,3.Prediction model structure
部分的开头和3.1 Decision tree feature transforms
部分,其他所有内容都可以跳过)
https://pdfs.semanticscholar.org/daf9/ed5dc6c6bad5367d7fd8561527da30e9b8dd.pdf
本文建议,与仅使用决策树或线性分类(不能同时使用两种)相比,在组合决策树+线性分类(例如逻辑回归)的情况下,二元分类可能会表现出更好的性能
简而言之,诀窍是我们有几个决策树(为简单起见,假设有2棵树,带有3个叶节点的第1棵树和带有2个叶节点的第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
/ class 01
,但是在此方案中,输出的树被组合成二进制字符串,该字符串被馈送到线性分类器。因此,尚不清楚如何训练这些决策树?我们拥有的是上述的向量x和单击/不单击,它们是线性分类而不是树的输出
有任何想法吗?
最佳答案
对我来说,您需要通过最小化对数丢失标准(二进制分类)来执行增强决策树。训练好树木后(假设您有2棵树木,其中3片和2片叶子)。然后,对于每个实例,您将预测每棵树的叶子索引。
例
如果对于一个实例,您得到的是树1的叶子1和第二棵树的叶子2。即,您将获得(1,0,0,0,1)的向量,它是二进制向量,而不是String。然后,您有两种策略:
您根据树预测的结果训练线性分类器(例如:逻辑回归),数据集具有维度(N * 5),其中N是实例数。您将对二进制数据进行逻辑回归训练。
您将维度5的向量与要素的初始向量连接起来,然后执行线性分类器。您将对真实数据和二进制数据进行逻辑回归训练。
关于machine-learning - 决策树与逻辑回归相结合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41692017/