XGBRegressor参数详解

XGBRegressor参数详解:

import xgboost as xgb
from xgboost import plot_importance
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_boston
from sklearn.metrics import mean_squared_error

# 导入数据集
boston = load_boston()
X ,y = boston.data,boston.target
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=0)

model = xgb.XGBRegressor(max_depth=3,          # 每一棵树最大深度,默认6;
                        learning_rate=0.1,      # 学习率,每棵树的预测结果都要乘以这个学习率,默认0.3;
                        n_estimators=100,        # 使用多少棵树来拟合,也可以理解为多少次迭代。默认100;
                        objective='reg:linear',   # 此默认参数与 XGBClassifier 不同
                        booster='gbtree',         # 有两种模型可以选择gbtree和gblinear。gbtree使用基于树的模型进行提升计算,gblinear使用线性模型进行提升计算。默认为gbtree
                        gamma=0,                 # 叶节点上进行进一步分裂所需的最小"损失减少"。默认0;
                        min_child_weight=1,      # 可以理解为叶子节点最小样本数,默认1;
                        subsample=1,              # 训练集抽样比例,每次拟合一棵树之前,都会进行该抽样步骤。默认1,取值范围(0, 1]
                        colsample_bytree=1,       # 每次拟合一棵树之前,决定使用多少个特征,参数默认1,取值范围(0, 1]。
                        reg_alpha=0,             # 默认为0,控制模型复杂程度的权重值的 L1 正则项参数,参数值越大,模型越不容易过拟合。
                        reg_lambda=1,            # 默认为1,控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。
                        random_state=0)           # 随机种子
model.fit(X_train,y_train, eval_set=[(X_train, y_train), (X_test, y_test)], eval_metric='rmse', verbose=50)

# 对测试集进行预测
ans = model.predict(X_test)
mse = mean_squared_error(y_test,ans)
print('mse:', mse)

# 显示重要特征
plot_importance(model)
plt.show()

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XGBRegressor是XGBoost库中的一个回归模型类。它是通过梯度提升算法训练出来的模型,具有强大的性能和高效的计算速度。下面是XGBRegressor的一些重要参数详解: 1. n_estimators:要构建的树的数量。较大的值可以提高模型的性能,但也会增加训练时间。默认值为100。 2. max_depth:每个树的最大深度。较小的值可以防止过拟合,但较大的值可以提高模型的拟合能力。默认值为6。 3. learning_rate:学习率控制每个弱学习器(树)对最终模型的贡献程度。较小的值可以使模型更加保守,但也会增加训练时间。默认值为0.3。 4. subsample:用于训练每个树时使用的样本比例。较小的值可以防止过拟合,但也可能导致欠拟合。默认值为1,表示使用所有样本。 5. colsample_bytree:用于训练每个树时使用的特征比例。较小的值可以防止过拟合,但也可能导致欠拟合。默认值为1,表示使用所有特征。 6. reg_alpha:L1正则化项的权重。较大的值可以增加模型的稀疏性,并减少过拟合。默认值为0,表示不使用L1正则化。 7. reg_lambda:L2正则化项的权重。较大的值可以减少模型的复杂度,并防止过拟合。默认值为1。 8. gamma:节点分裂所需的最小损失减少量。较大的值可以使算法更加保守。默认值为0。 9. objective:优化目标函数。常见的值包括回归问题的"reg:linear"和二分类问题的"binary:logistic"。默认值为"reg:squarederror"。 这些参数只是XGBRegressor类中的一部分,还有其他参数可以用来调整模型的性能和稳定性。建议根据具体的问题和数据集进行调参。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值