Go to the documentation of this file.
7 #ifndef XGBOOST_OBJECTIVE_H_
8 #define XGBOOST_OBJECTIVE_H_
10 #include <dmlc/registry.h>
37 virtual void Configure(
const std::vector<std::pair<std::string, std::string> >& args) = 0;
86 LOG(FATAL) <<
"multioutput is not supported by current objective function";
103 :
public dmlc::FunctionRegEntryBase<ObjFunctionReg,
104 std::function<ObjFunction* ()> > {
119 #define XGBOOST_REGISTER_OBJECTIVE(UniqueId, Name) \
120 static DMLC_ATTRIBUTE_UNUSED ::xgboost::ObjFunctionReg & \
121 __make_ ## ObjFunctionReg ## _ ## UniqueId ## __ = \
122 ::dmlc::Registry< ::xgboost::ObjFunctionReg>::Get()->__REGISTER__(Name)
124 #endif // XGBOOST_OBJECTIVE_H_
interface of objective function
Definition: objective.h:26
virtual void EvalTransform(HostDeviceVector< bst_float > *io_preds)
transform prediction values, this is only called when Eval is called, usually it redirect to PredTran...
Definition: objective.h:64
virtual const char * DefaultEvalMetric() const =0
virtual bst_float ProbToMargin(bst_float base_score) const
transform probability value back to margin this is used to transform user-set base_score back to marg...
Definition: objective.h:73
Defines the abstract interface for different components in XGBoost.
Definition: generic_parameters.h:15
virtual uint32_t Targets(MetaInfo const &info) const
Return number of targets for input matrix. Right now XGBoost supports only multi-target regression.
Definition: objective.h:84
A device-and-host vector abstraction layer.
GenericParameter const * ctx_
Definition: objective.h:28
defines configuration macros of xgboost.
virtual struct ObjInfo Task() const =0
Return task of this objective.
static ObjFunction * Create(const std::string &name, GenericParameter const *tparam)
Create an objective function according to name.
Registry entry for objective factory functions.
Definition: objective.h:102
virtual void Configure(const std::vector< std::pair< std::string, std::string > > &args)=0
Configure the objective with the specified parameters.
virtual void GetGradient(const HostDeviceVector< bst_float > &preds, const MetaInfo &info, int iteration, HostDeviceVector< GradientPair > *out_gpair)=0
Get gradient over each of predictions, given existing information.
auto Shape() const
Definition: linalg.h:735
virtual void PredTransform(HostDeviceVector< bst_float > *) const
transform prediction values, this is only called when Prediction is called
Definition: objective.h:57
~ObjFunction() override=default
virtual destructor
The input data structure of xgboost.
A struct returned by objective, which determines task at hand. The struct is not used by any algorith...
Definition: task.h:24
namespace of xgboost
Definition: base.h:110
float bst_float
float type, used for storing statistics
Definition: base.h:119