【问题标题】:Passing base_margin to xgboost model as part of sklearn pipeline in Python作为 Python 中 sklearn 管道的一部分,将 base_margin 传递给 xgboost 模型
【发布时间】:2021-03-19 17:58:52
【问题描述】:

我试图将 base_margin 作为 sklearn 管道的一部分传递给 fit() 中的 xgboost。

如果您将base_marginsample_weight 交换,我的代码将起作用,这也是fit() 中的一个参数,所以我不确定为什么它无法识别base_margin

由于一些部署限制,我只能在 sklearn 管道中实现 xgboost,所以请不要提供替代答案。

# packages
import sklearn
import xgboost
from sklearn.datasets import load_boston
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import FunctionTransformer
from xgboost import XGBRegressor 
import numpy as np

# Get boston dataset
boston = load_boston()
x, y = boston.data, boston.target

# Define offset
offset = np.ones(X.shape[0])

# sklearn pipeline
## identity transformation with XGBRegressor
pipeline_sklearn = Pipeline(steps=[
    ('preprocessor', FunctionTransformer()),
    ('regressor', XGBRegressor(
        n_etimators = 100,
        learning_rate = 0.01,
        random_state=0 
                               ))])

pipeline_sklearn.fit(X,y,regressor__base_margin = offset)

结果:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-34-ee36c60ebc2d> in <module>
----> 1 pipeline_sklearn.fit(X,y,regressor__base_margin = offset)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/sklearn/pipeline.py in fit(self, X, y, **fit_params)
    352                                  self._log_message(len(self.steps) - 1)):
    353             if self._final_estimator != 'passthrough':
--> 354                 self._final_estimator.fit(Xt, y, **fit_params)
    355         return self
    356 

TypeError: fit() got an unexpected keyword argument 'base_margin'

【问题讨论】:

    标签: python scikit-learn pipeline xgboost


    【解决方案1】:

    我认为 0.90 版不支持它,但我可以确认它在 v1.2.1 上运行

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 2021-09-25
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2015-11-06
      • 2018-03-18
      • 2019-12-05
      相关资源
      最近更新 更多