【问题标题】:Use predicted probability of one model to train another model and save as one single model使用一个模型的预测概率来训练另一个模型并保存为一个模型
【发布时间】:2018-10-17 19:46:09
【问题描述】:

我有一个XGBoost 模型,用于一些二元分类目的。它利用了一些功能,即f1, f2, f3, f4, f5, f6, f7

我想利用来自sklearn 的另一个LogisticRegression 模型,它利用模型的输出和XGBoost 模型的特征来进行预测,即必须使用f1, out 来进行预测。其中outXGBoost 模型所做的预测。

我想将这两个模型保存到一个文件中,以了解如何在生产中进行预测。

我该怎么做?

【问题讨论】:

  • 使用 Pipeline 和 FeatureUnion。
  • @VivekKumar 你能指出一些我可以参考的例子吗?

标签: python scikit-learn xgboost


【解决方案1】:

您需要结合使用 FeatureUnionPipeline 来实现此目的。

类似这样的:

final_classifier = Pipeline([
    ('features', FeatureUnion([
        ('f1', FeatureSelector()),
        ('out', XGBoostClassifierTransformer()),
     ])
    ),
    ('clf', LogisticRegression()),
])

这里,FeatureSelector()XGBoostClassifierTransformer() 是自定义包装器,您可以轻松地自己制作。您需要实现 fit()transform() 方法,并将输出发送到管道的下一部分。

FeatureUnion 将在其每个内部部件上调用transform(),然后组合输出。管道将获取此输出,然后发送到下一部分,即 LogisticRegression。

这看起来像这样。

X --> final_classifier, Pipeline
            |
            |  <== X is passed to FeatureUnion
            \/
      features, FeatureUnion
                      |
                      |  <== X is duplicated and passed to both parts
        ______________|__________________
       |                                 |
       |                                 |                         
       \/                               \/
   f1, FeatureSelector                out, XGBoostClassifierTransformer
           |                                          |   
           |<= Only f1 is selected from X             | <= All features are used in XGBoost
           |                                          |
           \/________________________________________\/
                                      |
                                      |
                                     \/
                                   clf, LogisticRegression

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 2018-10-23
    • 2022-11-19
    • 2018-10-04
    • 2020-05-18
    • 2018-04-02
    • 1970-01-01
    • 2017-08-19
    相关资源
    最近更新 更多