使用Boosting树在sklearn

时间:2018-05-01 04:02:36

标签: python machine-learning scikit-learn

我指的是上下文link to Feature Transformation using tree ensembles

具体对于下面的代码部分,在链接的样本中,(1)使用Boosting树生成特征,然后使用LR训练,使用Boosting树本身优于(2)的方法。问题,

  1. 想知道在一般情况下使用Boosting树生成特征(并使用另一个分类器进行分类)是否真的比使用Boosting树进行分类更好?
  2. 还想知道为什么使用Boosting树生成特征,然后用LR训练,优于使用Boosting树本身?

    grd = GradientBoostingClassifier(n_estimators=n_estimator)
    grd_enc = OneHotEncoder()
    grd_lm = LogisticRegression()
    grd.fit(X_train, y_train)
    grd_enc.fit(grd.apply(X_train)[:, :, 0])
    grd_lm.fit(grd_enc.transform(grd.apply(X_train_lr)[:, :, 0]), y_train_lr)
    

1 个答案:

答案 0 :(得分:4)

有趣的来源是paper_1paper_2以及其中的其他参考资料。

所以回答你的问题:

  1. 非常一般的说法,看一下上述论文中的一些实验结果似乎有一些例外。但是,大多数时候它确实提高了分数。
  2. 这样做的主要思想是将要素映射到样本可线性分离的空间。如果确实如此,那么线性分类器就会闪耀。