XGBoost 分类模型

创建和训练一个 XGBoost 分类模型,并评估其在训练集和测试集上的性能。

1. 导入 XGBoost

import xgboost as xgb

XGBoost 是一种强大的梯度提升算法,用于处理分类和回归任务,尤其适合大规模数据和复杂特征。 

2. 创建模型实例

xgb_clf = xgb.XGBClassifier(...)

这里创建了一个 XGBoost 分类器对象,配置了超参数。以下是各超参数的含义:

  • objective='binary:logistic':目标是二分类任务,使用逻辑回归作为输出。
  • booster='gbtree':使用基于树的提升方法。
  • n_estimators=284:树的数量,表示迭代次数。
  • max_depth=2:每棵树的最大深度,防止过拟合。
  • reg_alpha=0.071:L1 正则化参数,控制模型的稀疏性,越大越严格。
  • min_child_weight=0.217:每个叶节点的最小样本权重,防止过拟合。
  • colsample_bynode=0.265:每棵树的列采样率,指定每次分裂使用的特征比例。
  • subsample=0.268:每棵树的样本采样比例。
  • learning_rate=0.062:学习率,控制每棵树对最终预测的贡献。
  • use_label_encoder=False:禁用 XGBoost 的标签编码(从 1.3 版开始默认启用)。
  • scale_pos_weight=0.463:类别权重,用于处理类别不平衡问题。

3. 训练模型

xgb_clf = xgb_clf.fit(X_train, y_train)
  • 将训练集特征 XtrainX_{\text{train}}Xtrain​ 和目标变量 ytrainy_{\text{train}}ytrain​ 输入到模型中,完成训练。
  • 训练过程:XGBoost 会逐步构建多棵决策树,并优化损失函数(如逻辑损失)来提升模型性能

 

performance_clf(xgb_clf, X_train, y_train, metrics_name='train')
performance_clf(xgb_clf, X_test, y_test, metrics_name='test')
  • 使用自定义的 performance_clf 函数,评估模型在训练集和测试集上的性能。
  • 参数:
    • metrics_name='train'metrics_name='test':区分在训练集和测试集上的评估。
    • X_train, y_trainX_test, y_test:分别为训练集和测试集数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值