课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
8分钟

xgboost.XGBClassifier 和 xgboost.XGBRegressor 的方法

xgboost.XGBClassifierxgboost.XGBRegressor 的方法:

  • .fit(): 训练模型
fit(X, y, sample_weight=None, eval_set=None, eval_metric=None,
    early_stopping_rounds=None,verbose=True, xgb_model=None)

参数:

  • X: 一个array-like,表示训练集
  • y: 一个序列,表示标记
  • sample_weight: 一个序列,给出了每个样本的权重
  • eval_set: 一个列表,元素为(X,y),给出了验证集及其标签。它们用于早停。 如果有多个验证集,则使用最后一个
  • eval_metric: 一个字符串或者可调用对象,用于evaluation metric
    • 如果为字符串,则是内置的度量函数的名字
    • 如果为可调用对象,则它的签名为(y_pred,y_true)==>(str,value)
  • early_stopping_rounds: 指定早停的次数。参考xgboost.train()
  • verbose: 一个布尔值。如果为True,则打印验证集的评估结果。
  • xgb_model:一个Booster实例,或者一个存储了xgboost 模型的文件的文件名。它给出了待训练的模型。 这种做法允许连续训练。

  • .predict():执行预测
predict(data, output_margin=False, ntree_limit=0)

参数:

  • data: 一个 DMatrix 对象,表示测试集
  • output_margin: 一个布尔值。表示是否输出原始的、未经过转换的margin value
  • ntree_limit: 一个整数。表示使用多少棵子树来预测。默认值为0,表示使用所有的子树。 如果训练的时候发生了早停,则你可以使用booster.best_ntree_limit

返回值:一个ndarray,表示预测结果

  • 对于回归问题,返回的就是原始的预测结果
  • 对于分类问题,返回的就是预测类别(阈值为 0.5 )

  • .predict_proba(data, output_margin=False, ntree_limit=0) : 执行预测,预测的是各类别的概率 参数:参考.predict() 返回值:一个ndarray,表示预测结果

它只用于分类问题,返回的是预测各类别的概率

  • .evals_result(): 返回一个字典,给出了各个验证集在各个验证参数上的历史值 它不同于cv() 函数的返回值。cv() 函数返回evaluation history 是早停时刻的。而这里返回的是所有的历史值