Skip to content

Upgrading xgboost 2 to 3

Review needed2.1.4 → 3.4.1New3Changed11Fixed19Other4

Review neededUpgrade verdict

11 changed defaults.

  • Nothing in this range needs changes to your code. It adds features and fixes.
Nothing to change

No breaking, platform, security or deprecated items in this range.

Python requirement changed in 3.3.0: >=3.8 → >=3.12.

Adds nvidia-nccl-cu13.

Drops nvidia-nccl-cu12.

Nothing in this upgrade needs a code or configuration change.

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

  • removed: export DeviceQuantileDMatrix
  • removed: export dask
  • added: export ExtMemQuantileDMatrix
  • added: export interpret
  • changed: constructor EarlyStopping(rounds: int, metric_name: Optional[str]=…, data_name: Optional[str]=…, maximize: Optional[bool]=…, save_best: Optional[bool]=…, min_delta: float=…) -> None → constructor EarlyStopping(*, rounds: int, metric_name: Optional[str]=…, data_name: Optional[str]=…, maximize: Optional[bool]=…, save_best: Optional[bool]=…, min_delta: float=…) -> None
  • changed: constructor EvaluationMonitor(rank: int=…, period: int=…, show_stdv: bool=…) -> None → constructor EvaluationMonitor(rank: int=…, period: int=…, show_stdv: bool=…, logger: Callable[[str], None]=…)
  • changed: field TrainingCallback.EvalsLog → field TrainingCallback.EvalsLog: TypeAlias
  • changed: method EarlyStopping.after_iteration(model: _Model, epoch: int, evals_log: TrainingCallback.EvalsLog) -> bool → method EarlyStopping.after_iteration(model: _Model, epoch: int, evals_log: EvalsLog) -> bool
  • changed: method EvaluationMonitor.after_iteration(model: _Model, epoch: int, evals_log: TrainingCallback.EvalsLog) -> bool → method EvaluationMonitor.after_iteration(model: _Model, epoch: int, evals_log: EvalsLog) -> bool
  • changed: method LearningRateScheduler.after_iteration(model: _Model, epoch: int, evals_log: TrainingCallback.EvalsLog) -> bool → method LearningRateScheduler.after_iteration(model: _Model, epoch: int, evals_log: EvalsLog) -> bool
  • changed: method TrainingCheckPoint.after_iteration(model: _Model, epoch: int, evals_log: TrainingCallback.EvalsLog) -> bool → method TrainingCheckPoint.after_iteration(model: _Model, epoch: int, evals_log: EvalsLog) -> bool
  • changed: constructor CommunicatorContext(**args: Any) -> None → constructor CommunicatorContext(**args: _ArgVals) -> None
  • changed: function init(**args: Any) -> None → function init(**args: _ArgVals) -> None
  • changed: function is_distributed() -> int → function is_distributed() -> bool
  • added: class Config
  • added: field Config.retry: Optional[int]
  • added: field Config.timeout: Optional[int]
  • added: field Config.tracker_host_ip: Optional[str]
  • added: field Config.tracker_port: Optional[int]
  • added: field Config.tracker_timeout: Optional[int]
  • added: field Config.worker_port: Optional[Union[Callable[[], int], int]]
  • added: method Config.get_comm_config(args: _Conf) -> _Conf
  • added: method Config.update_worker_args(args: _Conf) -> _Conf
  • removed: class LazyLoader(types.ModuleType)
  • removed: constructor LazyLoader(local_name: str, parent_module_globals: Dict, name: str, warning: Optional[str]=…) -> None
  • removed: variable DataFrame
  • removed: variable MultiIndex
  • removed: variable PANDAS_INSTALLED
  • removed: variable Series
  • removed: variable pandas_concat
  • removed: variable scipy_csr
  • changed: function py_str(x: bytes) -> str → function py_str(x: bytes | None) -> str
  • added: function import_pandas() -> types.ModuleType
  • added: function import_polars() -> types.ModuleType
  • added: function import_pyarrow() -> types.ModuleType
  • added: function is_dataframe(data: DataType) -> bool
  • added: function is_pandas_available() -> bool
  • added: function is_pyarrow_available() -> bool
  • removed: class DataSplitMode(IntEnum)
  • removed: class DeviceQuantileDMatrix(QuantileDMatrix)
  • removed: class XGBoostError(ValueError)
  • removed: constructor DeviceQuantileDMatrix(*args: Any, **kwargs: Any) -> None
  • removed: field DataSplitMode.COL
  • removed: field DataSplitMode.ROW
  • removed: function c_str(string: str) -> ctypes.c_char_p
  • removed: function from_array_interface(interface: dict) -> NumpyOrCupy
  • removed: function from_cstr_to_pystr(data: CStrPptr, length: c_bst_ulong) -> List[str]
  • removed: function from_pystr_to_cstr(data: str) -> bytes | (data: List[str]) -> ctypes.Array
  • removed: function make_array_interface(ptr: CNumericPtr, shape: Tuple[int, ...], dtype: Type[np.number], is_cuda: bool) -> Dict[str, Union[int, tuple, None]]
  • removed: function make_jcargs(**kwargs: Any) -> bytes
  • removed: method DMatrix.data_split_mode() -> DataSplitMode
  • removed: variable Objective
  • changed: class QuantileDMatrix(DMatrix) → class QuantileDMatrix(DMatrix, _RefMixIn)
  • changed: constructor DMatrix(data: DataType, label: Optional[ArrayLike]=…, *, weight: Optional[ArrayLike]=…, base_margin: Optional[ArrayLike]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[FeatureTypes]=…, nthread: Optional[int]=…, group: Optional[ArrayLike]=…, qid: Optional[ArrayLike]=…, label_lower_bound: Optional[ArrayLike]=…, label_upper… → constructor DMatrix(data: DataType, label: Optional[ArrayLike]=…, *, weight: Optional[ArrayLike]=…, base_margin: Optional[ArrayLike]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[Union[FeatureTypes, Categories]]=…, nthread: Optional[int]=…, group: Optional[ArrayLike]=…, qid: Optional[ArrayLike]=…, label_lower_bound: Optional[ArrayL…
  • changed: constructor DataIter(cache_prefix: Optional[str]=…, release_data: bool=…) -> None → constructor DataIter(cache_prefix: Optional[str]=…, release_data: bool=…, *, on_host: bool=…, min_cache_page_bytes: Optional[int]=…) -> None
  • changed: method Booster.boost(dtrain: DMatrix, iteration: int, grad: NumpyOrCupy, hess: NumpyOrCupy) -> None → method Booster.boost(dtrain: DMatrix, iteration: int, *, grad: Optional[NumpyOrCupy]=…, hess: Optional[NumpyOrCupy]=…, fobj: Optional[CustomObj]=…) -> None
  • changed: method Booster.dump_model(fout: Union[str, os.PathLike], fmap: Union[str, os.PathLike]=…, with_stats: bool=…, dump_format: str=…) -> None → method Booster.dump_model(fout: PathLike, fmap: PathLike=…, with_stats: bool=…, dump_format: str=…) -> None
  • changed: method Booster.get_dump(fmap: Union[str, os.PathLike]=…, with_stats: bool=…, dump_format: str=…) -> List[str] → method Booster.get_dump(fmap: PathLike=…, with_stats: bool=…, dump_format: str=…) -> List[str]
  • changed: method Booster.get_fscore(fmap: Union[str, os.PathLike]=…) -> Dict[str, Union[float, List[float]]] → method Booster.get_fscore(fmap: PathLike=…) -> Dict[str, Union[float, List[float]]]
  • changed: method Booster.get_score(fmap: Union[str, os.PathLike]=…, importance_type: str=…) -> Dict[str, Union[float, List[float]]] → method Booster.get_score(fmap: PathLike=…, importance_type: str=…) -> Dict[str, Union[float, List[float]]]
  • changed: method Booster.get_split_value_histogram(feature: str, fmap: Union[os.PathLike, str]=…, bins: Optional[int]=…, as_pandas: bool=…) -> Union[np.ndarray, DataFrame] → method Booster.get_split_value_histogram(feature: str, fmap: PathLike=…, bins: Optional[int]=…, as_pandas: bool=…) -> Union[np.ndarray, PdDataFrame]
  • changed: method Booster.inplace_predict(data: DataType, iteration_range: IterationRange=…, predict_type: str=…, missing: float=…, validate_features: bool=…, base_margin: Any=…, strict_shape: bool=…) -> NumpyOrCupy → method Booster.inplace_predict(data: DataType, *, iteration_range: IterationRange=…, predict_type: str=…, missing: float=…, validate_features: bool=…, base_margin: Any=…, strict_shape: bool=…) -> NumpyOrCupy
  • changed: method Booster.predict(data: DMatrix, output_margin: bool=…, pred_leaf: bool=…, pred_contribs: bool=…, approx_contribs: bool=…, pred_interactions: bool=…, validate_features: bool=…, training: bool=…, iteration_range: IterationRange=…, strict_shape: bool=…) -> np.ndarray → method Booster.predict(data: DMatrix, *, output_margin: bool=…, pred_leaf: bool=…, pred_contribs: bool=…, approx_contribs: bool=…, pred_interactions: bool=…, validate_features: bool=…, training: bool=…, iteration_range: IterationRange=…, strict_shape: bool=…) -> np.ndarray
  • changed: method Booster.save_model(fname: Union[str, os.PathLike]) -> None → method Booster.save_model(fname: PathLike) -> None
  • changed: method Booster.trees_to_dataframe(fmap: Union[str, os.PathLike]=…) -> DataFrame → method Booster.trees_to_dataframe(fmap: PathLike=…) -> PdDataFrame
  • changed: method Booster.update(dtrain: DMatrix, iteration: int, fobj: Optional[Objective]=…) -> None → method Booster.update(dtrain: DMatrix, iteration: int, fobj: Optional[CustomObj]=…) -> None
  • changed: method DMatrix.get_base_margin() -> np.ndarray → method DMatrix.get_base_margin() -> NumpyOrCupy
  • changed: method DMatrix.get_float_info(field: str) -> np.ndarray → method DMatrix.get_float_info(field: str) -> NumpyOrCupy
  • changed: method DMatrix.get_label() -> np.ndarray → method DMatrix.get_label() -> NumpyOrCupy
  • changed: method DMatrix.get_uint_info(field: str) -> np.ndarray → method DMatrix.get_uint_info(field: str) -> NumpyOrCupy
  • changed: method DMatrix.get_weight() -> np.ndarray → method DMatrix.get_weight() -> NumpyOrCupy
  • changed: method DMatrix.save_binary(fname: Union[str, os.PathLike], silent: bool=…) -> None → method DMatrix.save_binary(fname: PathLike, silent: bool=…) -> None
  • changed: method DataIter.next(input_data: Callable) -> int → method DataIter.next(input_data: Callable) -> bool
  • added: class ExtMemQuantileDMatrix(DMatrix, _RefMixIn)
  • added: class SingleBatchInternalIter(DataIter)
  • added: constructor ExtMemQuantileDMatrix(data: DataIter, *, missing: Optional[float]=…, nthread: Optional[int]=…, max_bin: Optional[int]=…, ref: Optional[DMatrix]=…, enable_categorical: bool=…, max_quantile_batches: Optional[int]=…, cache_host_ratio: Optional[float]=…) -> None
  • added: constructor SingleBatchInternalIter(**kwargs: Any) -> None
  • added: method Booster.get_categories(export_to_arrow: bool=…) -> Categories
  • added: method Booster.reset() -> Booster
  • added: method DMatrix.get_categories(export_to_arrow: bool=…) -> Categories
  • added: method SingleBatchInternalIter.next(input_data: Callable) -> bool
  • added: method SingleBatchInternalIter.reset() -> None
  • added: variable CustomObj
  • added: variable PlainObj
  • added: variable XGBoostError
  • changed: class DaskXGBClassifier(DaskScikitLearnBase, XGBClassifierBase) → class DaskXGBClassifier(XGBClassifierMixIn, DaskScikitLearnBase)
  • changed: class DaskXGBRanker(DaskScikitLearnBase, XGBRankerMixIn) → class DaskXGBRanker(XGBRankerMixIn, DaskScikitLearnBase)
  • changed: class DaskXGBRegressor(DaskScikitLearnBase, XGBRegressorBase) → class DaskXGBRegressor(XGBRegressorMixIn, DaskScikitLearnBase)
  • changed: constructor CommunicatorContext(**args: Any) -> None → constructor CommunicatorContext(**args: CollArgsVals) -> None
  • changed: constructor DaskDMatrix(client: distributed.Client, data: _DataT, label: Optional[_DaskCollection]=…, *, weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[FeatureTypes]=…, group: Optional[_DaskCollection]=…, qid: Optional[_DaskCollection]=…, label_lower_bound:… → constructor DaskDMatrix(client: Optional[distributed.Client], data: _DataT, label: Optional[_DaskCollection]=…, *, weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[FeatureTypes]=…, group: Optional[_DaskCollection]=…, qid: Optional[_DaskCollection]=…, label_low…
  • changed: constructor DaskQuantileDMatrix(client: distributed.Client, data: _DataT, label: Optional[_DaskCollection]=…, *, weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[Union[Any, List[Any]]]=…, max_bin: Optional[int]=…, ref: Optional[DMatrix]=…, group: Optional[_Das… → constructor DaskQuantileDMatrix(client: Optional[distributed.Client], data: _DataT, label: Optional[_DaskCollection]=…, *, weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, missing: Optional[float]=…, silent: bool=…, feature_names: Optional[FeatureNames]=…, feature_types: Optional[Union[Any, List[Any]]]=…, max_bin: Optional[int]=…, ref: Optional[DaskDMatrix]=…, group:…
  • changed: constructor DaskXGBRFClassifier(*, learning_rate: Optional[float]=…, subsample: Optional[float]=…, colsample_bynode: Optional[float]=…, reg_lambda: Optional[float]=…, **kwargs: Any) -> None → constructor DaskXGBRFClassifier(*, learning_rate: Optional[float]=…, subsample: Optional[float]=…, colsample_bynode: Optional[float]=…, reg_lambda: Optional[float]=…, coll_cfg: Optional[CollConfig]=…, **kwargs: Any) -> None
  • changed: constructor DaskXGBRFRegressor(*, learning_rate: Optional[float]=…, subsample: Optional[float]=…, colsample_bynode: Optional[float]=…, reg_lambda: Optional[float]=…, **kwargs: Any) -> None → constructor DaskXGBRFRegressor(*, learning_rate: Optional[float]=…, subsample: Optional[float]=…, colsample_bynode: Optional[float]=…, reg_lambda: Optional[float]=…, coll_cfg: Optional[CollConfig]=…, **kwargs: Any) -> None
  • changed: constructor DaskXGBRanker(*, objective: str=…, **kwargs: Any) → constructor DaskXGBRanker(*, objective: str=…, allow_group_split: bool=…, coll_cfg: Optional[CollConfig]=…, **kwargs: Any) -> None
  • changed: function inplace_predict(client: Optional[distributed.Client], model: Union[TrainReturnT, Booster, distributed.Future], data: _DataT, iteration_range: IterationRange=…, predict_type: str=…, missing: float=…, validate_features: bool=…, base_margin: Optional[_DaskCollection]=…, strict_shape: bool=…) -> Any → function inplace_predict(client: Optional[distributed.Client], model: Union[TrainReturnT, Booster, distributed.Future], data: _DataT, *, iteration_range: IterationRange=…, predict_type: str=…, missing: float=…, validate_features: bool=…, base_margin: Optional[_DaskCollection]=…, strict_shape: bool=…) -> Any
  • changed: function predict(client: Optional[distributed.Client], model: Union[TrainReturnT, Booster, distributed.Future], data: Union[DaskDMatrix, _DataT], output_margin: bool=…, missing: float=…, pred_leaf: bool=…, pred_contribs: bool=…, approx_contribs: bool=…, pred_interactions: bool=…, validate_features: bool=…, iteration_range: IterationRange=…, strict_shape: bool=…) -> Any → function predict(client: Optional[distributed.Client], model: Union[TrainReturnT, Booster, distributed.Future], data: Union[DaskDMatrix, _DataT], *, output_margin: bool=…, missing: float=…, pred_leaf: bool=…, pred_contribs: bool=…, approx_contribs: bool=…, pred_interactions: bool=…, validate_features: bool=…, iteration_range: IterationRange=…, strict_shape: bool=…) -> Any
  • changed: function train(client: distributed.Client, params: Dict[str, Any], dtrain: DaskDMatrix, num_boost_round: int=…, *, evals: Optional[Sequence[Tuple[DaskDMatrix, str]]]=…, obj: Optional[Objective]=…, feval: Optional[Metric]=…, early_stopping_rounds: Optional[int]=…, xgb_model: Optional[Booster]=…, verbose_eval: Union[int, bool]=…, callbacks: Optional[Sequence[TrainingCallback]]=…, custom_metric: Opt… → function train(client: distributed.Client, params: Dict[str, Any], dtrain: DaskDMatrix, num_boost_round: int=…, *, evals: Optional[Sequence[Tuple[DaskDMatrix, str]]]=…, obj: Optional[CustomObj]=…, early_stopping_rounds: Optional[int]=…, xgb_model: Optional[Booster]=…, verbose_eval: Union[int, bool]=…, callbacks: Optional[Sequence[TrainingCallback]]=…, custom_metric: Optional[Metric]=…, coll_cfg:…
  • changed: method DaskXGBClassifier.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Union[int, bool]=…, xgb_model: Optional[Union[Booster, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set: Optional[Seque… → method DaskXGBClassifier.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Optional[Union[int, bool]]=…, xgb_model: Optional[Union[Booster, str, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set:…
  • changed: method DaskXGBRFClassifier.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Union[int, bool]=…, xgb_model: Optional[Union[Booster, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set: Optional[Seq… → method DaskXGBRFClassifier.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Optional[Union[int, bool]]=…, xgb_model: Optional[Union[Booster, str, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_se…
  • changed: method DaskXGBRFRegressor.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Union[int, bool]=…, xgb_model: Optional[Union[Booster, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set: Optional[Sequ… → method DaskXGBRFRegressor.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Optional[Union[int, bool]]=…, xgb_model: Optional[Union[Booster, str, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set…
  • changed: method DaskXGBRanker.fit(X: _DataT, y: _DaskCollection, *, group: Optional[_DaskCollection]=…, qid: Optional[_DaskCollection]=…, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, eval_group: Optional[Sequence[_DaskCollection]]=…, eval_qid: Optional[Sequence[_DaskCollection]]=…, verbose: Un… → method DaskXGBRanker.fit(X: _DataT, y: _DaskCollection, *, group: Optional[_DaskCollection]=…, qid: Optional[_DaskCollection]=…, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, eval_group: Optional[Sequence[_DaskCollection]]=…, eval_qid: Optional[Sequence[_DaskCollection]]=…, verbose: Op…
  • changed: method DaskXGBRegressor.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Union[int, bool]=…, xgb_model: Optional[Union[Booster, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set: Optional[Sequen… → method DaskXGBRegressor.fit(X: _DataT, y: _DaskCollection, *, sample_weight: Optional[_DaskCollection]=…, base_margin: Optional[_DaskCollection]=…, eval_set: Optional[Sequence[Tuple[_DaskCollection, _DaskCollection]]]=…, verbose: Optional[Union[int, bool]]=…, xgb_model: Optional[Union[Booster, str, XGBModel]]=…, sample_weight_eval_set: Optional[Sequence[_DaskCollection]]=…, base_margin_eval_set:…
  • added: class DaskPartitionIter(DataIter)
  • added: constructor DaskPartitionIter(data: List[Any], feature_names: Optional[FeatureNames]=…, feature_types: Optional[Union[FeatureTypes, Categories]]=…, feature_weights: Optional[Any]=…, **kwargs: Optional[List[Any]]) -> None
  • added: function no_group_split(device: str | None, df: dd.DataFrame, qid: dd.Series, y: dd.Series, sample_weight: Optional[dd.Series], base_margin: Optional[dd.Series]) -> Tuple[dd.DataFrame, dd.Series, dd.Series, Optional[dd.Series], Optional[dd.Series]]
  • added: function sort_data_by_qid(**kwargs: List[Any]) -> Dict[str, List[Any]]
  • added: method DaskPartitionIter.data() -> Any
  • added: method DaskPartitionIter.next(input_data: Callable) -> bool
  • added: method DaskPartitionIter.reset() -> None
  • added: variable LOGGER
  • added: variable meta
  • added: function get_address_from_user(dconfig: Optional[Dict[str, Any]], coll_cfg: Config) -> Tuple[Optional[str], int]
  • removed: class SingleBatchInternalIter(DataIter)
  • removed: constructor SingleBatchInternalIter(**kwargs: Any) -> None
  • removed: function pandas_check_dtypes(data: DataFrame, enable_categorical: bool) -> None
  • removed: method PandasTransformed.array_interface() -> bytes
  • removed: method SingleBatchInternalIter.next(input_data: Callable) -> int
  • removed: method SingleBatchInternalIter.reset() -> None
  • changed: class PandasTransformed → class PandasTransformed(TransformedDf)
  • changed: constructor PandasTransformed(columns: List[np.ndarray]) -> None → constructor PandasTransformed(columns: List[Union[np.ndarray, DfCatAccessor]], ref_categories: Optional[Categories]) -> None
  • changed: function dispatch_data_backend(data: DataType, missing: FloatCompatible, threads: int, feature_names: Optional[FeatureNames], feature_types: Optional[FeatureTypes], enable_categorical: bool=…, data_split_mode: DataSplitMode=…) -> DispatchedDataBackendReturnType → function dispatch_data_backend(*, data: DataType, missing: FloatCompatible, threads: int, feature_names: Optional[FeatureNames], feature_types: Optional[Union[FeatureTypes, Categories]], enable_categorical: bool=…) -> DispatchedDataBackendReturnType
  • changed: function dispatch_proxy_set_data(proxy: _ProxyDMatrix, data: DataType, cat_codes: Optional[list]) -> None → function dispatch_proxy_set_data(proxy: _ProxyDMatrix, data: DataType) -> None
  • changed: function pandas_feature_info(data: DataFrame, meta: Optional[str], feature_names: Optional[FeatureNames], feature_types: Optional[FeatureTypes], enable_categorical: bool) -> Tuple[Optional[FeatureNames], Optional[FeatureTypes]] → function pandas_feature_info(data: PdDataFrame, meta: Optional[str], feature_names: Optional[FeatureNames], feature_types: Optional[FeatureTypes], enable_categorical: bool) -> Tuple[Optional[FeatureNames], Optional[FeatureTypes]]
  • changed: function pandas_transform_data(data: DataFrame) -> List[np.ndarray] → function pandas_transform_data(data: PdDataFrame) -> List[Union[np.ndarray, DfCatAccessor]]
  • changed: variable DispatchedDataBackendReturnType → variable DispatchedDataBackendReturnType: TypeAlias
  • added: class ArrowTransformed(TransformedDf)
  • added: class CudfTransformed(TransformedDf)
  • added: constructor ArrowTransformed(columns: List[Union[pa.NumericArray, pa.DictionaryArray]], ref_categories: Optional[Categories]=…) -> None
  • added: constructor CudfTransformed(columns: List[Union[PdSeries, DfCatAccessor]], ref_categories: Optional[Categories]) -> None
  • added: function is_on_cuda(data: Any) -> bool
  • added: property ArrowTransformed.shape -> Tuple[int, int]
  • added: property CudfTransformed.shape -> Tuple[int, int]
  • changed: constructor FederatedTracker(n_workers: int, port: int, secure: bool, server_key_path: Optional[str]=…, server_cert_path: Optional[str]=…, client_cert_path: Optional[str]=…, timeout: int=…) -> None → constructor FederatedTracker(n_workers: int, port: int, *, secure: bool, server_key_path: Optional[str]=…, server_cert_path: Optional[str]=…, client_cert_path: Optional[str]=…, timeout: int=…) -> None
  • changed: function run_federated_server(n_workers: int, port: int, server_key_path: Optional[str]=…, server_cert_path: Optional[str]=…, client_cert_path: Optional[str]=…, blocking: bool=…, timeout: int=…) -> Optional[Dict[str, Any]] → function run_federated_server(n_workers: int, port: int, *, server_key_path: Optional[str]=…, server_cert_path: Optional[str]=…, client_cert_path: Optional[str]=…, blocking: bool=…, timeout: int=…) -> Optional[Dict[str, Any]]
  • added: function shap_values(model: object, X: Union[DMatrix, ArrayLike], *, X_background: Optional[Union[DMatrix, ArrayLike]]=…, output_margin: bool=…, iteration_range: Optional[IterationRange]=…, missing: Optional[FloatCompatible]=…, validate_features: bool=…) -> Tuple[np.ndarray, np.ndarray]
  • added: function is_sphinx_build() -> bool
  • added: class Objective(ABC)
  • added: class TreeObjective(Objective)
  • added: method TreeObjective.split_grad(iteration: int, grad: ArrayLike, hess: ArrayLike) -> Tuple[ArrayLike, ArrayLike] | None
  • changed: function plot_importance(booster: Union[XGBModel, Booster, dict], ax: Optional[Axes]=…, height: float=…, xlim: Optional[tuple]=…, ylim: Optional[tuple]=…, title: str=…, xlabel: str=…, ylabel: str=…, fmap: PathLike=…, importance_type: str=…, max_num_features: Optional[int]=…, grid: bool=…, show_values: bool=…, values_format: str=…, **kwargs: Any) -> Axes → function plot_importance(booster: Union[XGBModel, Booster, dict], *, ax: Optional[Axes]=…, height: float=…, xlim: Optional[tuple]=…, ylim: Optional[tuple]=…, title: str=…, xlabel: str=…, ylabel: str=…, fmap: PathLike=…, importance_type: str=…, max_num_features: Optional[int]=…, grid: bool=…, show_values: bool=…, values_format: str=…, **kwargs: Any) -> Axes
  • changed: function plot_tree(booster: Booster, fmap: PathLike=…, num_trees: int=…, rankdir: Optional[str]=…, ax: Optional[Axes]=…, **kwargs: Any) -> Axes → function plot_tree(booster: Union[Booster, XGBModel], *, fmap: PathLike=…, num_trees: Optional[int]=…, rankdir: Optional[str]=…, ax: Optional[Axes]=…, with_stats: bool=…, tree_idx: int=…, **kwargs: Any) -> Axes
  • changed: function to_graphviz(booster: Union[Booster, XGBModel], fmap: PathLike=…, num_trees: int=…, rankdir: Optional[str]=…, yes_color: Optional[str]=…, no_color: Optional[str]=…, condition_node_params: Optional[dict]=…, leaf_node_params: Optional[dict]=…, **kwargs: Any) -> GraphvizSource → function to_graphviz(booster: Union[Booster, XGBModel], *, fmap: PathLike=…, num_trees: Optional[int]=…, rankdir: Optional[str]=…, yes_color: Optional[str]=…, no_color: Optional[str]=…, condition_node_params: Optional[dict]=…, leaf_node_params: Optional[dict]=…, with_stats: bool=…, tree_idx: int=…, **kwargs: Any) -> GraphvizSource
  • removed: property XGBClassifier.classes_ -> np.ndarray
  • changed: class XGBClassifier(XGBClassifierBase, XGBModel) → class XGBClassifier(XGBClassifierMixIn, XGBModel)
  • changed: class XGBRegressor(XGBRegressorBase, XGBModel) → class XGBRegressor(XGBRegressorMixIn, XGBModel)
  • changed: constructor XGBModel(max_depth: Optional[int]=…, max_leaves: Optional[int]=…, max_bin: Optional[int]=…, grow_policy: Optional[str]=…, learning_rate: Optional[float]=…, n_estimators: Optional[int]=…, verbosity: Optional[int]=…, objective: SklObjective=…, booster: Optional[str]=…, tree_method: Optional[str]=…, n_jobs: Optional[int]=…, gamma: Optional[float]=…, min_child_weight: Optional[float]=…, m… → constructor XGBModel(*, max_depth: Optional[int]=…, max_leaves: Optional[int]=…, max_bin: Optional[int]=…, grow_policy: Optional[str]=…, learning_rate: Optional[float]=…, n_estimators: Optional[int]=…, verbosity: Optional[int]=…, objective: SklObjective=…, booster: Optional[str]=…, tree_method: Optional[str]=…, n_jobs: Optional[int]=…, gamma: Optional[float]=…, min_child_weight: Optional[float]=……
  • changed: function xgboost_model_doc(header: str, items: List[str], extra_parameters: Optional[str]=…, end_note: Optional[str]=…) -> Callable[[Type], Type] → function xgboost_model_doc(header: str, items: List[str], extra_parameters: Optional[str]=…, end_note: Optional[str]=…) -> Callable[[TDoc], TDoc]
  • changed: method XGBClassifier.predict(X: ArrayLike, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike → method XGBClassifier.predict(X: ArrayLike, *, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike
  • changed: method XGBModel.predict(X: ArrayLike, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike → method XGBModel.predict(X: ArrayLike, *, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike
  • changed: method XGBRanker.predict(X: ArrayLike, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike → method XGBRanker.predict(X: ArrayLike, *, output_margin: bool=…, validate_features: bool=…, base_margin: Optional[ArrayLike]=…, iteration_range: Optional[IterationRange]=…) -> ArrayLike
  • added: class XGBClassifierMixIn(XGBClassifierBase)
  • added: class XGBRegressorMixIn(XGBRegressorBase)
  • added: field XGBClassifierMixIn.n_classes_: int
  • added: function get_model_categories(X: ArrayLike, model: Optional[Union[Booster, str]], feature_types: Optional[FeatureTypes]) -> Tuple[Optional[Union[Booster, str]], Optional[Union[FeatureTypes, Categories]]]
  • added: function pick_ref_categories(X: Any, model_cats: Optional[Union[FeatureTypes, Categories]], Xy_cats: Optional[Categories]) -> Optional[Union[FeatureTypes, Categories]]
  • added: property XGBClassifierMixIn.classes_ -> np.ndarray
  • added: variable SklObjectiveCallable
  • added: variable TDoc
  • changed: function create_dmatrix_from_partitions(iterator: Iterator[pd.DataFrame], feature_cols: Optional[Sequence[str]], dev_ordinal: Optional[int], use_qdm: bool, kwargs: Dict[str, Any], enable_sparse_data_optim: bool, has_validation_col: bool) -> Tuple[DMatrix, Optional[DMatrix]] → function create_dmatrix_from_partitions(*, iterator: Iterator[pd.DataFrame], feature_cols: Optional[Sequence[str]], dev_ordinal: Optional[int], use_qdm: bool, kwargs: Dict[str, Any], enable_sparse_data_optim: bool, has_validation_col: bool) -> Tuple[DMatrix, Optional[DMatrix]]
  • changed: method PartIter.next(input_data: Callable) -> int → method PartIter.next(input_data: Callable) -> bool
  • changed: constructor SparkXGBClassifier(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, probability_col: str=…, raw_prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, num_workers: int=…, use_gpu: Optional[bool]=…, device: Optional[str]=…, force_repartition: bo… → constructor SparkXGBClassifier(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, probability_col: str=…, raw_prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, num_workers: int=…, device: Optional[str]=…, force_repartition: bool=…, repartition_random_sh…
  • changed: constructor SparkXGBRanker(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, qid_col: Optional[str]=…, num_workers: int=…, use_gpu: Optional[bool]=…, device: Optional[str]=…, force_repartition: bool=…, repartition_random_shuf… → constructor SparkXGBRanker(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, qid_col: Optional[str]=…, num_workers: int=…, device: Optional[str]=…, force_repartition: bool=…, repartition_random_shuffle: bool=…, enable_sparse_…
  • changed: constructor SparkXGBRegressor(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, num_workers: int=…, use_gpu: Optional[bool]=…, device: Optional[str]=…, force_repartition: bool=…, repartition_random_shuffle: bool=…, enable_spa… → constructor SparkXGBRegressor(*, features_col: Union[str, List[str]]=…, label_col: str=…, prediction_col: str=…, pred_contrib_col: Optional[str]=…, validation_indicator_col: Optional[str]=…, weight_col: Optional[str]=…, base_margin_col: Optional[str]=…, num_workers: int=…, device: Optional[str]=…, force_repartition: bool=…, repartition_random_shuffle: bool=…, enable_sparse_data_optim: bool=…, lau…
  • added: class XGBoostTrainingSummary
  • added: field XGBoostTrainingSummary.train_objective_history: Dict[str, List[float]]
  • added: field XGBoostTrainingSummary.validation_objective_history: Dict[str, List[float]]
  • added: static method XGBoostTrainingSummary.from_metrics(metrics: Dict[str, Dict[str, List[float]]]) -> XGBoostTrainingSummary
  • changed: constructor CommunicatorContext(context: BarrierTaskContext, **args: Any) -> None → constructor CommunicatorContext(context: BarrierTaskContext, **args: CollArgsVals) -> None
  • changed: constructor RabitTracker(n_workers: int, host_ip: Optional[str], port: int=…, sortby: str=…, timeout: int=…) -> None → constructor RabitTracker(n_workers: int, host_ip: Optional[str], port: int=…, *, sortby: str=…, timeout: int=…) -> None
  • changed: function cv(params: BoosterParam, dtrain: DMatrix, num_boost_round: int=…, nfold: int=…, stratified: bool=…, folds: XGBStratifiedKFold=…, metrics: Sequence[str]=…, obj: Optional[Objective]=…, feval: Optional[Metric]=…, maximize: Optional[bool]=…, early_stopping_rounds: Optional[int]=…, fpreproc: Optional[FPreProcCallable]=…, as_pandas: bool=…, verbose_eval: Optional[Union[int, bool]]=…, show_stdv… → function cv(params: BoosterParam, dtrain: DMatrix, num_boost_round: int=…, *, nfold: int=…, stratified: bool=…, folds: Optional[XGBStratifiedKFold]=…, metrics: Sequence[str]=…, obj: Optional[CustomObj]=…, maximize: Optional[bool]=…, early_stopping_rounds: Optional[int]=…, fpreproc: Optional[FPreProcCallable]=…, as_pandas: bool=…, verbose_eval: Optional[Union[int, bool]]=…, show_stdv: bool=…, seed…
  • changed: function groups_to_rows(groups: List[np.ndarray], boundaries: np.ndarray) -> np.ndarray → function groups_to_rows(groups: np.ndarray, boundaries: np.ndarray) -> np.ndarray
  • changed: function mkgroupfold(dall: DMatrix, nfold: int, param: BoosterParam, evals: Sequence[str]=…, fpreproc: Optional[FPreProcCallable]=…, shuffle: bool=…) -> List[CVPack] → function mkgroupfold(*, dall: DMatrix, nfold: int, param: BoosterParam, evals: Sequence[str]=…, fpreproc: Optional[FPreProcCallable]=…, shuffle: bool=…) -> List[CVPack]
  • changed: function mknfold(dall: DMatrix, nfold: int, param: BoosterParam, seed: int, evals: Sequence[str]=…, fpreproc: Optional[FPreProcCallable]=…, stratified: Optional[bool]=…, folds: Optional[XGBStratifiedKFold]=…, shuffle: bool=…) -> List[CVPack] → function mknfold(*, dall: DMatrix, nfold: int, param: BoosterParam, seed: int, evals: Sequence[str]=…, fpreproc: Optional[FPreProcCallable]=…, stratified: Optional[bool]=…, folds: Optional[XGBStratifiedKFold]=…, shuffle: bool=…) -> List[CVPack]
  • changed: function train(params: Dict[str, Any], dtrain: DMatrix, num_boost_round: int=…, *, evals: Optional[Sequence[Tuple[DMatrix, str]]]=…, obj: Optional[Objective]=…, feval: Optional[Metric]=…, maximize: Optional[bool]=…, early_stopping_rounds: Optional[int]=…, evals_result: Optional[TrainingCallback.EvalsLog]=…, verbose_eval: Optional[Union[bool, int]]=…, xgb_model: Optional[Union[str, os.PathLike, Bo… → function train(params: Dict[str, Any], dtrain: DMatrix, num_boost_round: int=…, *, evals: Optional[Sequence[Tuple[DMatrix, str]]]=…, obj: Optional[CustomObj]=…, maximize: Optional[bool]=…, early_stopping_rounds: Optional[int]=…, evals_result: Optional[TrainingCallback.EvalsLog]=…, verbose_eval: Optional[Union[bool, int]]=…, xgb_model: Optional[Union[str, os.PathLike, Booster, bytearray]]=…, callb…
  • changed: method CVPack.update(iteration: int, fobj: Optional[Objective]) -> None → method CVPack.update(iteration: int, fobj: Optional[CustomObj]) -> None