当前位置: 首页 > 图灵资讯 > 技术篇> sklearn中xgboost模块的XGBClassifier函数

sklearn中xgboost模块的XGBClassifier函数

来源:图灵教育
时间:2023-05-19 09:14:37

# 常规参数

  • booster
  • gbtree 树模型作为基分类器(默认)
  • gbliner 基分类器作为基分类器的线性模型
  • silent
  • silent=0时不输出中间过程(默认)
  • silent=1.输出中间过程
  • nthread
  • nthread=-1:00,使用所有CPU并行操作(默认)
  • nthread=1时,使用一个CPU进行操作。
  • scale_pos_weight
  • 在二分类任务中,当正负样本的比例不平衡时,设置正样本的权重,模型效果更好。例如,当正负样本的比例为1时:10时,scale_pos_weight=10。

# 模型参数

  • n_estimatores
  • 含义:总迭代次数,即决策树的数量
  • 调参:
  • early_stopping_rounds
  • 含义:在验证集中,当连续n次迭代,分数没有提高时,提前终止训练。
  • 调参:防止overfiting。
  • max_depth
  • 含义:树的深度,默认值为6,典型值为3-10。
  • 参考:值越大,越容易过拟合;值越小,越容易欠拟合。
  • min_child_weight
  • 含义:默认值为1,。
  • 参考:值越大,越容易欠拟合;值越小,越容易过拟合(值越大,避免模型学习局部特殊样本)。
  • subsample
  • 含义:训练每棵树时,使用的数据占所有训练集的比例。默认值为1,典型值为0.5-1。
  • 调参:防止overfiting。
  • colsample_bytree
  • 含义:训练每棵树时,使用的特征占所有特征的比例。默认值为1,典型值为0.5-1。
  • 调参:防止overfiting。

# 学习任务参数

  • learning_rate
  • 含义:学习率,每次迭代更新权重时控制步长,默认0.3。
  • 参考:值越小,训练越慢。
  • 典型值为0.01-0.2。
  • objective 目标函数
  • 回归任务
  • reg:linear (默认)
  • reg:logistic
  • 二分类
  • binary:logistic 概率
  • binary:logitraw 类别
  • 多分类
  • multi:softmax num_class=n 返回类别
  • multi:softprob num_class=n 返回概率
  • rank:pairwise
  • eval_metric
  • 回归任务(默认rmse)
  • rmse--均方根误差
  • mae--平均绝对误差
  • 分类任务(默认error)
  • auc--roc曲线下面积
  • error--错误率(二分类)
  • merror--错误率(多分类)
  • logloss--负对数似乎是函数(二分类)
  • mlogloss--负对数似乎是函数(多分类)
  • gamma
  • 处罚系数,指定节点分裂所需的最小损失函数下降。
  • 调参:
  • alpha
  • L1正则化系数默认为1
  • lambda
  • L2正则化系数默认为1

# 代码的主要函数:

  • 载入数据:load_digits()
  • 数据拆分:train_test_split()
  • 建立模型:XGBClassifier()
  • 模型训练:fit()
  • 模型预测:predict()
  • 性能度量:accuracy_score()
  • 特征的重要性:plot_importance()