11 #include <dmlc/registry.h> 29 struct GenericParameter;
30 struct LearnerModelParam;
48 virtual void Configure(
const std::vector<std::pair<std::string, std::string> >& cfg) = 0;
53 virtual void Load(dmlc::Stream* fi) = 0;
58 virtual void Save(dmlc::Stream* fo)
const = 0;
88 unsigned ntree_limit = 0) = 0;
101 std::vector<bst_float>* out_preds,
102 unsigned ntree_limit = 0) = 0;
112 std::vector<bst_float>* out_preds,
113 unsigned ntree_limit = 0) = 0;
127 std::vector<bst_float>* out_contribs,
128 unsigned ntree_limit = 0,
129 bool approximate =
false,
int condition = 0,
130 unsigned condition_feature = 0) = 0;
133 std::vector<bst_float>* out_contribs,
134 unsigned ntree_limit,
bool approximate) = 0;
145 std::string format)
const = 0;
149 virtual bool UseGPU()
const = 0;
159 const std::string& name,
162 const std::vector<std::shared_ptr<DMatrix> >& cache_mats);
165 #ifndef XGBOOST_USE_CUDA 166 LOG(FATAL) <<
"XGBoost version not compiled with GPU support.";
167 #endif // XGBOOST_USE_CUDA 175 :
public dmlc::FunctionRegEntryBase<
177 std::function<GradientBooster* (const std::vector<std::shared_ptr<DMatrix> > &cached_mats,
178 LearnerModelParam const* learner_model_param)> > {
193 #define XGBOOST_REGISTER_GBM(UniqueId, Name) \ 194 static DMLC_ATTRIBUTE_UNUSED ::xgboost::GradientBoosterReg & \ 195 __make_ ## GradientBoosterReg ## _ ## UniqueId ## __ = \ 196 ::dmlc::Registry< ::xgboost::GradientBoosterReg>::Get()->__REGISTER__(Name) 199 #endif // XGBOOST_GBM_H_ Definition: learner.h:199
virtual std::vector< std::string > DumpModel(const FeatureMap &fmap, bool with_stats, std::string format) const =0
dump the model in the requested format
virtual ~GradientBooster()=default
virtual destructor
virtual void PredictContribution(DMatrix *dmat, std::vector< bst_float > *out_contribs, unsigned ntree_limit=0, bool approximate=false, int condition=0, unsigned condition_feature=0)=0
feature contributions to individual predictions; the output will be a vector of length (nfeats + 1) *...
Definition: host_device_vector.h:85
virtual void PredictInteractionContributions(DMatrix *dmat, std::vector< bst_float > *out_contribs, unsigned ntree_limit, bool approximate)=0
The input data structure of xgboost.
static void AssertGPUSupport()
Definition: gbm.h:164
Definition: generic_parameters.h:14
Defines the abstract interface for different components in XGBoost.
Internal data structured used by XGBoost during training. There are two ways to create a customized D...
Definition: data.h:428
A device-and-host vector abstraction layer.
Feature map data structure to help text model dump. TODO(tqchen) consider make it even more lightweig...
Definition: feature_map.h:22
span class implementation, based on ISO++20 span<T>. The interface should be the same.
Definition: span.h:115
Registry entry for tree updater.
Definition: gbm.h:174
virtual void Configure(const std::vector< std::pair< std::string, std::string > > &cfg)=0
Set the configuration of gradient boosting. User must call configure once before InitModel and Traini...
virtual bool AllowLazyCheckPoint() const
whether the model allow lazy checkpoint return true if model is only updated in DoBoost after all All...
Definition: gbm.h:64
virtual void PredictLeaf(DMatrix *dmat, std::vector< bst_float > *out_preds, unsigned ntree_limit=0)=0
predict the leaf index of each tree, the output will be nsample * ntree vector this is only valid in ...
virtual void Load(dmlc::Stream *fi)=0
load model from stream
interface of objective function
Definition: objective.h:25
namespace of xgboost
Definition: base.h:102
static GradientBooster * Create(const std::string &name, GenericParameter const *generic_param, LearnerModelParam const *learner_model_param, const std::vector< std::shared_ptr< DMatrix > > &cache_mats)
create a gradient booster from given name
defines configuration macros of xgboost.
virtual bool UseGPU() const =0
Whether the current booster uses GPU.
virtual void Save(dmlc::Stream *fo) const =0
save model to stream.
virtual void PredictInstance(const SparsePage::Inst &inst, std::vector< bst_float > *out_preds, unsigned ntree_limit=0)=0
online prediction function, predict score for one instance at a time NOTE: use the batch prediction i...
virtual void DoBoost(DMatrix *p_fmat, HostDeviceVector< GradientPair > *in_gpair, ObjFunction *obj=nullptr)=0
perform update to the model(boosting)
interface of gradient boosting model.
Definition: gbm.h:35
GenericParameter const * generic_param_
Definition: gbm.h:37
virtual void PredictBatch(DMatrix *dmat, HostDeviceVector< bst_float > *out_preds, bool training, unsigned ntree_limit=0)=0
generate predictions for given feature matrix