Skip to content

Upgrading xgboost 0.80 to 0.81

Breaking0.80 → 0.81Breaking2Security1Deprecated1New17Changed5Fixed37Other46

BreakingUpgrade verdict

2 breaking changes and a security fix.

  • The experimental AVX-accelerated gradient computation has been taken out.
  • If you train with external memory, old temporary page files no longer work with this version. Delete them before resuming training. Saved models are not affected.
  • The JVM packages now warn that network communication is not encrypted.
  • You no longer need to prefix regression objectives with gpu:; XGBoost picks the device for you.
4 items need code or config changes
Breaking2
Removes the experimental AVX support for gradient computation.
Changes external memory page file format, breaking backwards compatibility for temporary storage during external memory training.
Security1
JVM packages warn the user about the lack of over-the-wire encryption.
Deprecated1
Deprecates the gpu: tag for regression objectives since devices are now selected automatically.
gpu:

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • added: export XGBRanker
  • changed: method Booster.dump_model(fout, fmap=…, with_stats=…) → method Booster.dump_model(fout, fmap=…, with_stats=…, dump_format=…)
  • changed: method XGBClassifier.fit(X, y, sample_weight=…, eval_set=…, eval_metric=…, early_stopping_rounds=…, verbose=…, xgb_model=…, sample_weight_eval_set=…) → method XGBClassifier.fit(X, y, sample_weight=…, eval_set=…, eval_metric=…, early_stopping_rounds=…, verbose=…, xgb_model=…, sample_weight_eval_set=…, callbacks=…)
  • changed: method XGBClassifier.predict(data, output_margin=…, ntree_limit=…) → method XGBClassifier.predict(data, output_margin=…, ntree_limit=…, validate_features=…)
  • changed: method XGBClassifier.predict_proba(data, ntree_limit=…) → method XGBClassifier.predict_proba(data, ntree_limit=…, validate_features=…)
  • changed: method XGBModel.fit(X, y, sample_weight=…, eval_set=…, eval_metric=…, early_stopping_rounds=…, verbose=…, xgb_model=…, sample_weight_eval_set=…) → method XGBModel.fit(X, y, sample_weight=…, eval_set=…, eval_metric=…, early_stopping_rounds=…, verbose=…, xgb_model=…, sample_weight_eval_set=…, callbacks=…)
  • changed: method XGBModel.predict(data, output_margin=…, ntree_limit=…) → method XGBModel.predict(data, output_margin=…, ntree_limit=…, validate_features=…)
  • added: class XGBRanker(XGBModel)
  • added: constructor XGBRanker(max_depth=…, learning_rate=…, n_estimators=…, silent=…, objective=…, booster=…, n_jobs=…, nthread=…, gamma=…, min_child_weight=…, max_delta_step=…, subsample=…, colsample_bytree=…, colsample_bylevel=…, reg_alpha=…, reg_lambda=…, scale_pos_weight=…, base_score=…, random_state=…, seed=…, missing=…, **kwargs)
  • added: method XGBModel.set_params(**params)
  • added: method XGBRanker.fit(X, y, group, sample_weight=…, eval_set=…, sample_weight_eval_set=…, eval_group=…, eval_metric=…, early_stopping_rounds=…, verbose=…, xgb_model=…, callbacks=…)
  • added: method XGBRanker.predict(data, output_margin=…, ntree_limit=…, validate_features=…)
  • added: property XGBModel.coef_
  • added: property XGBModel.intercept_