Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
xgboost Namespace Reference

namespace of xgboost More...




class  BatchIterator
class  BatchIteratorImpl
struct  BatchParam
 Parameters for constructing batches. More...
class  BatchSet
struct  BitFieldContainer
 A non-owning type with auxiliary methods defined for manipulating bits. More...
struct  Configurable
class  CSCPage
class  DMatrix
 Internal data structured used by XGBoost during training. More...
class  EllpackPage
 A page stored in ELLPACK format. More...
struct  Entry
 Element from a sparse vector. More...
class  FeatureMap
 Feature map data structure to help text model dump. TODO(tqchen) consider make it even more lightweight. More...
struct  from_chars_result
struct  GenericParameter
class  GradientBooster
 interface of gradient boosting model. More...
struct  GradientBoosterReg
 Registry entry for tree updater. More...
class  HostDeviceVector
struct  HostDeviceVectorImpl
struct  HostSparsePageView
class  Json
 Data structure representing JSON format. More...
class  JsonArray
class  JsonBoolean
 Describes both true and false. More...
class  JsonInteger
class  JsonNull
class  JsonNumber
class  JsonObject
class  JsonReader
class  JsonString
class  JsonWriter
struct  LBitsPolicy
class  Learner
 Learner class that does training and prediction. This is the user facing module of xgboost training. The Load/Save function corresponds to the model used in python/R. More...
struct  LearnerModelParam
class  LinearUpdater
 interface of linear updater More...
struct  LinearUpdaterReg
 Registry entry for linear updater. More...
class  MetaInfo
 Meta information about dataset, always sit in memory. More...
class  Metric
 interface of evaluation metric used to evaluate model performance. This has nothing to do with training, but merely act as evaluation purpose. More...
struct  MetricReg
 Registry entry for Metric factory functions. The additional parameter const char* param gives the value after @, can be null. For example, metric map@3, then: param == "3". More...
struct  Model
struct  NumericLimits
struct  NumericLimits< float >
struct  NumericLimits< int64_t >
class  ObjFunction
 interface of objective function More...
struct  ObjFunctionReg
 Registry entry for objective factory functions. More...
struct  PredictionCacheEntry
 Contains pointer to input matrix and associated cached predictions. More...
class  PredictionContainer
class  Predictor
 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...
struct  PredictorReg
 Registry entry for predictor. More...
struct  RBitsPolicy
class  RegTree
 define regression tree to be the most common tree model. This is the data structure used in xgboost's major tree models. More...
struct  RTreeNodeStat
 node statistics used in regression tree More...
class  SortedCSCPage
class  SparsePage
 In-memory storage unit of sparse batch, stored in CSR format. More...
struct  StringView
struct  to_chars_result
class  TrainingObserver
struct  TreeParam
 meta parameters of the tree More...
class  TreeUpdater
 interface of tree update module, that performs update of a tree. More...
struct  TreeUpdaterReg
 Registry entry for tree updater. More...
class  Value
struct  Version
struct  XGBAPIThreadLocalEntry
 entry to to easily hold returning information More...
struct  XGBoostParameter


using bst_uint = uint32_t
 unsigned integer type used for feature index. More...
using bst_int = int32_t
 integer type. More...
using bst_ulong = uint64_t
 unsigned long integers More...
using bst_float = float
 float type, used for storing statistics More...
using bst_feature_t = uint32_t
 Type for data column (feature) index. More...
using bst_row_t = std::size_t
 Type for data row index. More...
using bst_node_t = int32_t
 Type for tree node index. More...
using bst_group_t = uint32_t
 Type for ranking group index. More...
using GradientPair = detail::GradientPairInternal< float >
 gradient statistics pair usually needed in gradient boosting More...
using GradientPairPrecise = detail::GradientPairInternal< double >
 High precision gradient statistics pair. More...
using Args = std::vector< std::pair< std::string, std::string > >
using omp_ulong = dmlc::omp_ulong
 define unsigned long for openmp loop More...
using bst_omp_uint = dmlc::omp_uint
 define unsigned int for openmp loop More...
using XGBoostVersionT = int32_t
 Type used for representing version number in binary form. More...
using Object = JsonObject
using Array = JsonArray
using Number = JsonNumber
using Integer = JsonInteger
using Boolean = JsonBoolean
using String = JsonString
using Null = JsonNull
using LBitField64 = BitFieldContainer< uint64_t, LBitsPolicy< uint64_t > >
using RBitField8 = BitFieldContainer< uint8_t, RBitsPolicy< unsigned char > >


enum  DataType : uint8_t {
  DataType::kFloat32 = 1, DataType::kDouble = 2, DataType::kUInt32 = 3, DataType::kUInt64 = 4,
  DataType::kStr = 5
 data type accepted by xgboost interface More...
enum  FeatureType : uint8_t { FeatureType::kNumerical }
enum  GPUAccess { kNone, kRead, kWrite }
 Controls data access from the GPU. More...


template<typename T >
bool IsA (Value const *value)
template<typename T , typename U >
T * Cast (U *value)
template<typename T >
bool IsA (Json const j)
template<typename T , typename U >
auto get (U &json) -> decltype(detail::GetImpl(*Cast< T >(&json.GetValue())))&
 Get Json value. More...
template<typename Parameter >
Object ToJson (Parameter const &param)
template<typename Parameter >
void FromJson (Json const &obj, Parameter *param)
to_chars_result to_chars (char *first, char *last, float value)
to_chars_result to_chars (char *first, char *last, int64_t value)
from_chars_result from_chars (const char *buffer, const char *end, float &value)


constexpr bst_float kRtEps = 1e-6f
 small eps gap for minimum split decision. More...

Detailed Description

namespace of xgboost

Implement std::to_chars and std::from_chars for float. Only base 10 with scientific format is supported. The implementation guarantees roundtrip reproducibility.

Copyright (c) by XGBoost Contributors 2019-2020

Copyright (c) by Contributors 2019

Copyright 2019 by XGBoost Contributors

Copyright by Contributors 2017-2019

Copyright 2018 XGBoost contributors

Copyright 2019 XGBoost contributors

Typedef Documentation

◆ Args

using xgboost::Args = typedef std::vector<std::pair<std::string, std::string> >

◆ Array

using xgboost::Array = typedef JsonArray

◆ Boolean

using xgboost::Boolean = typedef JsonBoolean

◆ bst_feature_t

using xgboost::bst_feature_t = typedef uint32_t

Type for data column (feature) index.

◆ bst_float

using xgboost::bst_float = typedef float

float type, used for storing statistics

◆ bst_group_t

using xgboost::bst_group_t = typedef uint32_t

Type for ranking group index.

◆ bst_int

using xgboost::bst_int = typedef int32_t

integer type.

◆ bst_node_t

using xgboost::bst_node_t = typedef int32_t

Type for tree node index.

◆ bst_omp_uint

using xgboost::bst_omp_uint = typedef dmlc::omp_uint

define unsigned int for openmp loop

◆ bst_row_t

using xgboost::bst_row_t = typedef std::size_t

Type for data row index.

Be careful `std::size_t' is implementation-defined. Meaning that the binary representation of DMatrix might not be portable across platform. Booster model should be portable as parameters are floating points.

◆ bst_uint

using xgboost::bst_uint = typedef uint32_t

unsigned integer type used for feature index.

◆ bst_ulong

using xgboost::bst_ulong = typedef uint64_t

unsigned long integers

◆ GradientPair

gradient statistics pair usually needed in gradient boosting

◆ GradientPairPrecise

High precision gradient statistics pair.

◆ Integer

using xgboost::Integer = typedef JsonInteger

◆ LBitField64

using xgboost::LBitField64 = typedef BitFieldContainer<uint64_t, LBitsPolicy<uint64_t> >

◆ Null

using xgboost::Null = typedef JsonNull

◆ Number

using xgboost::Number = typedef JsonNumber

◆ Object

using xgboost::Object = typedef JsonObject

◆ omp_ulong

using xgboost::omp_ulong = typedef dmlc::omp_ulong

define unsigned long for openmp loop

◆ RBitField8

using xgboost::RBitField8 = typedef BitFieldContainer<uint8_t, RBitsPolicy<unsigned char> >

◆ String

using xgboost::String = typedef JsonString

◆ XGBoostVersionT

using xgboost::XGBoostVersionT = typedef int32_t

Type used for representing version number in binary form.

Enumeration Type Documentation

◆ DataType

enum xgboost::DataType : uint8_t

data type accepted by xgboost interface


◆ FeatureType

enum xgboost::FeatureType : uint8_t

◆ GPUAccess

Controls data access from the GPU.

Since a HostDeviceVector can have data on both the host and device, access control needs to be maintained to keep the data consistent.

There are 3 scenarios supported:

  • Data is being manipulated on device. GPU has write access, host doesn't have access.
  • Data is read-only on both the host and device.
  • Data is being manipulated on the host. Host has write access, device doesn't have access.

Function Documentation

◆ Cast()

template<typename T , typename U >
T* xgboost::Cast ( U *  value)

◆ from_chars()

from_chars_result xgboost::from_chars ( const char *  buffer,
const char *  end,
float &  value 

◆ FromJson()

template<typename Parameter >
void xgboost::FromJson ( Json const &  obj,
Parameter *  param 

◆ get()

template<typename T , typename U >
auto xgboost::get ( U &  json) -> decltype(detail::GetImpl(*Cast<T>(&json.GetValue())))&

Get Json value.

Template Parameters
TOne of the Json value type.
Value contained in Json object of type T.

◆ IsA() [1/2]

template<typename T >
bool xgboost::IsA ( Value const *  value)

◆ IsA() [2/2]

template<typename T >
bool xgboost::IsA ( Json const  j)

◆ to_chars() [1/2]

to_chars_result xgboost::to_chars ( char *  first,
char *  last,
float  value 

◆ to_chars() [2/2]

to_chars_result xgboost::to_chars ( char *  first,
char *  last,
int64_t  value 

◆ ToJson()

template<typename Parameter >
Object xgboost::ToJson ( Parameter const &  param)

Variable Documentation

◆ kRtEps

constexpr bst_float xgboost::kRtEps = 1e-6f

small eps gap for minimum split decision.