ray.train.xgboost.XGBoostPredictor
ray.train.xgboost.XGBoostPredictor#
- class ray.train.xgboost.XGBoostPredictor(model: xgboost.core.Booster, preprocessor: Optional[Preprocessor] = None)[source]#
Bases:
ray.train.predictor.Predictor
A predictor for XGBoost models.
- Parameters
model – The XGBoost booster to use for predictions.
preprocessor – A preprocessor used to transform data batches prior to prediction.
PublicAPI (beta): This API is in beta and may change before becoming stable.
- classmethod from_checkpoint(checkpoint: ray.air.checkpoint.Checkpoint) ray.train.xgboost.xgboost_predictor.XGBoostPredictor [source]#
Instantiate the predictor from a Checkpoint.
The checkpoint is expected to be a result of
XGBoostTrainer
.- Parameters
checkpoint – The checkpoint to load the model and preprocessor from. It is expected to be from the result of a
XGBoostTrainer
run.
- predict(data: Union[numpy.ndarray, pandas.DataFrame, Dict[str, numpy.ndarray]], feature_columns: Optional[Union[List[str], List[int]]] = None, dmatrix_kwargs: Optional[Dict[str, Any]] = None, **predict_kwargs) Union[numpy.ndarray, pandas.DataFrame, Dict[str, numpy.ndarray]] [source]#
Run inference on data batch.
The data is converted into an XGBoost DMatrix before being inputted to the model.
- Parameters
data – A batch of input data.
feature_columns – The names or indices of the columns in the data to use as features to predict on. If None, then use all columns in
data
.dmatrix_kwargs – Dict of keyword arguments passed to
xgboost.DMatrix
.**predict_kwargs – Keyword arguments passed to
xgboost.Booster.predict
.
Examples
>>> import numpy as np >>> import xgboost as xgb >>> from ray.train.xgboost import XGBoostPredictor >>> >>> train_X = np.array([[1, 2], [3, 4]]) >>> train_y = np.array([0, 1]) >>> >>> model = xgb.XGBClassifier().fit(train_X, train_y) >>> predictor = XGBoostPredictor(model=model.get_booster()) >>> >>> data = np.array([[1, 2], [3, 4]]) >>> predictions = predictor.predict(data) >>> >>> # Only use first and second column as the feature >>> data = np.array([[1, 2, 8], [3, 4, 9]]) >>> predictor.predict(data, feature_columns=[0, 1]) array([0.5, 0.5], dtype=float32)
>>> import pandas as pd >>> import xgboost as xgb >>> from ray.train.xgboost import XGBoostPredictor >>> >>> train_X = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) >>> train_y = pd.Series([0, 1]) >>> >>> model = xgb.XGBClassifier().fit(train_X, train_y) >>> predictor = XGBoostPredictor(model=model.get_booster()) >>> >>> # Pandas dataframe. >>> data = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"]) >>> predictions = predictor.predict(data) >>> >>> # Only use first and second column as the feature >>> data = pd.DataFrame([[1, 2, 8], [3, 4, 9]], columns=["A", "B", "C"]) >>> predictor.predict(data, feature_columns=["A", "B"]) predictions 0 0.5 1 0.5
- Returns
Prediction result.