8分钟
xgboost.XGBClassifier 和 xgboost.XGBRegressor 的方法
xgboost.XGBClassifier 和 xgboost.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 valuentree_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是早停时刻的。而这里返回的是所有的历史值
学员评价