当前位置:   article > 正文

xgboost 逻辑回归:objective参数(reg:logistic,binary:logistic,binary:logitraw,)对比分析_xgboost objective

xgboost objective

一、问题

熟悉xgboost的小伙伴都知道,它在训练模型时,有train()方法和fit()方法,两种方法都是用于构建模型的,然而在使用过程中有什么不同的地方呢,这篇文章带领大家一起来看一下。train方法使用如下:

  1. params ={'eta': 0.1,
  2. 'max_depth': 4,
  3. 'num_boost_round':20,
  4. 'objective': 'reg:logistic',
  5. 'random_state': 27,
  6. 'silent':0
  7. }
  8. model = xgb.train(params,xgb.DMatrix(x_train, y_train))
  9. train_pred=model.predict(xgb.DMatrix(x_test))

而fit方法是直接使用xgboost封装好的XGBClassifier或者XGBRegressor时使用:

  1. model = XGBClassifier(
  2. learning_rate=0.1,
  3. n_estimators=20,
  4. max_depth=4,
  5. objective='binary:logistic',
  6. seed=27,
  7. silent=0
  8. )
  9. model.fit(x_train,y_train,verbose=True)
  10. fit_pred=model.predict(x_test)
  11. print fit_pred

相同的数据集,相同的参数得到的预测值却是不一样的,fit_pred的值是0,1的具体的预测标签,train_pred的值是0-1之间的概率值;为什么结果是不一样的呢?如何把0-1之间的概率值映射成0,1标签呢?这个后面揭晓,我们先看下,xgboost中用于做逻辑回归的objective的参数都有哪些,得到预测结果有什么不同!

二、objective参数比较

xgboost官方文档关于逻辑回归objective有三个参数,如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/525476
推荐阅读
相关标签
  

闽ICP备14008679号