Performs prediction on individual training instances or batches of instances for GBTree. Prediction functions all take a GBTreeModel and a DMatrix as input and output a vector of predictions. The predictor does not modify any state of the model itself.
More...
#include <predictor.h>
|
| Predictor (Context const *ctx) |
|
virtual | ~Predictor ()=default |
|
virtual void | Configure (Args const &) |
| Configure and register input matrices in prediction cache. More...
|
|
void | InitOutPredictions (const MetaInfo &info, HostDeviceVector< bst_float > *out_predt, const gbm::GBTreeModel &model) const |
| Initialize output prediction. More...
|
|
virtual void | PredictBatch (DMatrix *dmat, PredictionCacheEntry *out_preds, const gbm::GBTreeModel &model, uint32_t tree_begin, uint32_t tree_end=0) const =0 |
| Generate batch predictions for a given feature matrix. May use cached predictions if available instead of calculating from scratch. More...
|
|
virtual bool | InplacePredict (std::shared_ptr< DMatrix > p_fmat, const gbm::GBTreeModel &model, float missing, PredictionCacheEntry *out_preds, uint32_t tree_begin=0, uint32_t tree_end=0) const =0 |
| Inplace prediction. More...
|
|
virtual void | PredictInstance (const SparsePage::Inst &inst, std::vector< bst_float > *out_preds, const gbm::GBTreeModel &model, unsigned tree_end=0, bool is_column_split=false) const =0 |
| online prediction function, predict score for one instance at a time NOTE: use the batch prediction interface if possible, batch prediction is usually more efficient than online prediction This function is NOT threadsafe, make sure you only call from one thread. More...
|
|
virtual void | PredictLeaf (DMatrix *dmat, HostDeviceVector< bst_float > *out_preds, const gbm::GBTreeModel &model, unsigned tree_end=0) const =0 |
| predict the leaf index of each tree, the output will be nsample * ntree vector this is only valid in gbtree predictor. More...
|
|
virtual void | PredictContribution (DMatrix *dmat, HostDeviceVector< bst_float > *out_contribs, const gbm::GBTreeModel &model, unsigned tree_end=0, std::vector< bst_float > const *tree_weights=nullptr, bool approximate=false, int condition=0, unsigned condition_feature=0) const =0 |
| feature contributions to individual predictions; the output will be a vector of length (nfeats + 1) * num_output_group * nsample, arranged in that order. More...
|
|
virtual void | PredictInteractionContributions (DMatrix *dmat, HostDeviceVector< bst_float > *out_contribs, const gbm::GBTreeModel &model, unsigned tree_end=0, std::vector< bst_float > const *tree_weights=nullptr, bool approximate=false) const =0 |
|
Performs prediction on individual training instances or batches of instances for GBTree. Prediction functions all take a GBTreeModel and a DMatrix as input and output a vector of predictions. The predictor does not modify any state of the model itself.
◆ Predictor()
xgboost::Predictor::Predictor |
( |
Context const * |
ctx | ) |
|
|
inlineexplicit |
◆ ~Predictor()
virtual xgboost::Predictor::~Predictor |
( |
| ) |
|
|
virtualdefault |
◆ Configure()
virtual void xgboost::Predictor::Configure |
( |
Args const & |
| ) |
|
|
virtual |
Configure and register input matrices in prediction cache.
- Parameters
-
◆ Create()
static Predictor* xgboost::Predictor::Create |
( |
std::string const & |
name, |
|
|
Context const * |
ctx |
|
) |
| |
|
static |
Creates a new Predictor*.
- Parameters
-
name | Name of the predictor. |
ctx | Pointer to runtime parameters. |
◆ InitOutPredictions()
Initialize output prediction.
- Parameters
-
info | Meta info for the DMatrix object used for prediction. |
out_predt | Prediction vector to be initialized. |
model | Tree model used for prediction. |
◆ InplacePredict()
virtual bool xgboost::Predictor::InplacePredict |
( |
std::shared_ptr< DMatrix > |
p_fmat, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
float |
missing, |
|
|
PredictionCacheEntry * |
out_preds, |
|
|
uint32_t |
tree_begin = 0 , |
|
|
uint32_t |
tree_end = 0 |
|
) |
| const |
|
pure virtual |
Inplace prediction.
- Parameters
-
| p_fmat | A proxy DMatrix that contains the data and related meta info. |
| model | The model to predict from. |
| missing | Missing value in the data. |
[in,out] | out_preds | The output preds. |
| tree_begin | (Optional) Beginning of boosted trees used for prediction. |
| tree_end | (Optional) End of booster trees. 0 means do not limit trees. |
- Returns
- True if the data can be handled by current predictor, false otherwise.
◆ PredictBatch()
virtual void xgboost::Predictor::PredictBatch |
( |
DMatrix * |
dmat, |
|
|
PredictionCacheEntry * |
out_preds, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
uint32_t |
tree_begin, |
|
|
uint32_t |
tree_end = 0 |
|
) |
| const |
|
pure virtual |
Generate batch predictions for a given feature matrix. May use cached predictions if available instead of calculating from scratch.
- Parameters
-
[in,out] | dmat | Feature matrix. |
[in,out] | out_preds | The output preds. |
| model | The model to predict from. |
| tree_begin | The tree begin index. |
| tree_end | The tree end index. |
◆ PredictContribution()
virtual void xgboost::Predictor::PredictContribution |
( |
DMatrix * |
dmat, |
|
|
HostDeviceVector< bst_float > * |
out_contribs, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
unsigned |
tree_end = 0 , |
|
|
std::vector< bst_float > const * |
tree_weights = nullptr , |
|
|
bool |
approximate = false , |
|
|
int |
condition = 0 , |
|
|
unsigned |
condition_feature = 0 |
|
) |
| const |
|
pure virtual |
feature contributions to individual predictions; the output will be a vector of length (nfeats + 1) * num_output_group * nsample, arranged in that order.
- Parameters
-
[in,out] | dmat | The input feature matrix. |
[in,out] | out_contribs | The output feature contribs. |
| model | Model to make predictions from. |
| tree_end | The tree end index. |
| tree_weights | (Optional) Weights to multiply each tree by. |
| approximate | Use fast approximate algorithm. |
| condition | Condition on the condition_feature (0=no, -1=cond off, 1=cond on). |
| condition_feature | Feature to condition on (i.e. fix) during calculations. |
◆ PredictInstance()
virtual void xgboost::Predictor::PredictInstance |
( |
const SparsePage::Inst & |
inst, |
|
|
std::vector< bst_float > * |
out_preds, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
unsigned |
tree_end = 0 , |
|
|
bool |
is_column_split = false |
|
) |
| const |
|
pure virtual |
online prediction function, predict score for one instance at a time NOTE: use the batch prediction interface if possible, batch prediction is usually more efficient than online prediction This function is NOT threadsafe, make sure you only call from one thread.
- Parameters
-
| inst | The instance to predict. |
[in,out] | out_preds | The output preds. |
| model | The model to predict from |
| tree_end | (Optional) The tree end index. |
| is_column_split | (Optional) If the data is split column-wise. |
◆ PredictInteractionContributions()
virtual void xgboost::Predictor::PredictInteractionContributions |
( |
DMatrix * |
dmat, |
|
|
HostDeviceVector< bst_float > * |
out_contribs, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
unsigned |
tree_end = 0 , |
|
|
std::vector< bst_float > const * |
tree_weights = nullptr , |
|
|
bool |
approximate = false |
|
) |
| const |
|
pure virtual |
◆ PredictLeaf()
virtual void xgboost::Predictor::PredictLeaf |
( |
DMatrix * |
dmat, |
|
|
HostDeviceVector< bst_float > * |
out_preds, |
|
|
const gbm::GBTreeModel & |
model, |
|
|
unsigned |
tree_end = 0 |
|
) |
| const |
|
pure virtual |
predict the leaf index of each tree, the output will be nsample * ntree vector this is only valid in gbtree predictor.
- Parameters
-
[in,out] | dmat | The input feature matrix. |
[in,out] | out_preds | The output preds. |
| model | Model to make predictions from. |
| tree_end | (Optional) The tree end index. |
◆ ctx_
Context const* xgboost::Predictor::ctx_ |
|
protected |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/xgboost/checkouts/stable/include/xgboost/predictor.h