xgboost pipeline

记录:

 

from sklearn2pmml.pipeline import PMMLPipeline

other_params = {'learning_rate': 0.1,
    'seed': 0,
    'gamma': 0.05,
    'n_estimators': 15,
    'min_child_weight': 1.4,
    'colsample_bytree': 0.7,
    'max_depth': 2,
    'subsample': 0.8,
    'reg_alpha': 0.98,
    'reg_lambda':0.95}


pipeline_obj = PMMLPipeline([
    ('Xgbc', xgboost.XGBClassifier(**other_params))
])

pipeline_obj.fit(train_df[features],train_df[target])

 

### 如何在sklearn中集成和使用XGBoost进行机器学习模型训练 #### 导入必要的库 为了能够在`scikit-learn`环境中利用`XGBoost`,首先需要安装并导入所需的包。 ```python import xgboost as xgb from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler ``` #### 准备数据集 这里以波士顿房价数据为例来展示如何构建一个简单的管道来进行预处理以及模型训练。 ```python data = load_boston() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42) ``` #### 创建Pipeline 通过创建一个包含标准化转换(`StandardScaler`)和`XGBRegressor`(对于回归问题)或`XGBClassifier`(针对分类任务)的流水线,可以在一次操作中完成特征缩放与模型拟合。 ```python pipeline = Pipeline([ ('scaler', StandardScaler()), ('xgb_model', xgb.XGBRegressor(objective='reg:squarederror')) ]) ``` #### 训练模型 一旦定义好了流程,就可以直接调用`.fit()`方法开始训练过程了。 ```python pipeline.fit(X_train, y_train) ``` #### 预测与评估性能 最后一步是对测试集做出预测,并计算均方误差(MSE),以此衡量模型的好坏程度。 ```python predictions = pipeline.predict(X_test) mse = mean_squared_error(y_test, predictions) print(f'Mean Squared Error: {mse}') ``` 上述代码片段展示了怎样借助于`scikit-learn`框架下的工具链轻松地将`XGBoost`融入到工作流当中[^1]。值得注意的是,在实际应用过程中可能还需要调整诸如最大深度(max_depth)、子样本比例(subsample)等超参数以优化最终的结果表现[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值