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

namespace of xgboost More...

Namespaces

 common
 
 detail
 
 gbm
 
 linalg
 

Classes

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
 
struct  GlobalConfiguration
 
class  GradientBooster
 interface of gradient boosting model. More...
 
struct  GradientBoosterReg
 Registry entry for tree updater. More...
 
class  HostDeviceVector
 
struct  HostDeviceVectorImpl
 
struct  HostSparsePageView
 
class  IntrusivePtr
 Implementation of Intrusive Pointer. A smart pointer that points to an object with an embedded reference counter. The underlying object must implement a friend function IntrusivePtrRefCount() that returns the ref counter (of type IntrusivePtrCell). The intrusive pointer is faster than std::shared_ptr<>: std::shared_ptr<> makes an extra memory allocation for the ref counter whereas the intrusive pointer does not. More...
 
class  IntrusivePtrCell
 Helper class for embedding reference counting into client objects. See https://www.boost.org/doc/libs/1_74_0/doc/html/atomic/usage_examples.html for discussions of memory order. More...
 
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  JsonTypedArray
 Typed array for Universal Binary JSON. More...
 
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  ObjInfo
 A struct returned by objective, which determines task at hand. The struct is not used by any algorithm yet, only for future development like categorical split. More...
 
struct  PesudoHuberParam
 
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  UBJReader
 Reader for UBJSON https://ubjson.org/. More...
 
class  UBJWriter
 Writer for UBJSON https://ubjson.org/. More...
 
class  Value
 
struct  Version
 
struct  XGBAPIThreadLocalEntry
 entry to to easily hold returning information More...
 
struct  XGBoostParameter
 

Typedefs

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_cat_t = int32_t
 Categorical value type. 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 GradientPairInt32 = detail::GradientPairInternal< int >
 Fixed point representation for gradient pair. More...
 
using GradientPairInt64 = detail::GradientPairInternal< int64_t >
 Fixed point representation for high precision gradient 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 Context = GenericParameter
 
using GlobalConfigThreadLocalStore = dmlc::ThreadLocalStore< GlobalConfiguration >
 
using F32Array = JsonTypedArray< float, Value::ValueKind::kNumberArray >
 Typed UBJSON array for 32-bit floating point. More...
 
using U8Array = JsonTypedArray< uint8_t, Value::ValueKind::kU8Array >
 Typed UBJSON array for uint8_t. More...
 
using I32Array = JsonTypedArray< int32_t, Value::ValueKind::kI32Array >
 Typed UBJSON array for int32_t. More...
 
using I64Array = JsonTypedArray< int64_t, Value::ValueKind::kI64Array >
 Typed UBJSON array for int64_t. 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 > >
 
using LBitField32 = BitFieldContainer< uint32_t, LBitsPolicy< uint32_t > >
 
using CLBitField32 = BitFieldContainer< uint32_t, LBitsPolicy< uint32_t, true >, true >
 

Enumerations

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 = 0, FeatureType::kCategorical = 1 }
 
enum  GPUAccess { kNone, kRead, kWrite }
 Controls data access from the GPU. More...
 
enum  PredictionType : std::uint8_t {
  PredictionType::kValue = 0, PredictionType::kMargin = 1, PredictionType::kContribution = 2, PredictionType::kApproxContribution = 3,
  PredictionType::kInteraction = 4, PredictionType::kApproxInteraction = 5, PredictionType::kLeaf = 6
}
 

Functions

template<typename T >
IntrusivePtrCellIntrusivePtrRefCount (T const *ptr) noexcept
 User defined function for returning embedded reference count. More...
 
template<class T , class U >
bool operator== (IntrusivePtr< T > const &x, IntrusivePtr< U > const &y) noexcept
 
template<class T , class U >
bool operator!= (IntrusivePtr< T > const &x, IntrusivePtr< U > const &y) noexcept
 
template<class T , class U >
bool operator== (IntrusivePtr< T > const &x, U *y) noexcept
 
template<class T , class U >
bool operator!= (IntrusivePtr< T > const &x, U *y) noexcept
 
template<class T , class U >
bool operator== (T *x, IntrusivePtr< U > const &y) noexcept
 
template<class T , class U >
bool operator!= (T *x, IntrusivePtr< U > const &y) noexcept
 
template<class T >
bool operator< (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept
 
template<class T >
bool operator<= (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept
 
template<class T >
bool operator> (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept
 
template<class T >
bool operator>= (IntrusivePtr< T > const &x, IntrusivePtr< T > const &y) noexcept
 
template<class E , class T , class Y >
std::basic_ostream< E, T > & operator<< (std::basic_ostream< E, T > &os, IntrusivePtr< Y > const &p)
 
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)
 Check whether a Json object has specific type. More...
 
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 >
Args FromJson (Json const &obj, Parameter *param)
 
template<typename T >
BuiltinBSwap (T v)
 
template<typename T , std::enable_if_t< sizeof(T)==1 > * = nullptr>
ToBigEndian (T v)
 
std::ostream & operator<< (std::ostream &os, StringView const v)
 
bool operator== (StringView l, StringView r)
 
bool operator!= (StringView l, StringView r)
 
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)
 

Variables

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-2022

Copyright (c) by Contributors 2019-2022

Copyright 2021 by XGBoost Contributors

Copyright 2021-2022 by XGBoost Contributors

Copyright 2019 by XGBoost Contributors

Copyright 2022, by XGBoost Contributors

Copyright by Contributors 2017-2019

Copyright 2018-2022 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_cat_t

using xgboost::bst_cat_t = typedef int32_t

Categorical value type.

◆ 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

◆ CLBitField32

using xgboost::CLBitField32 = typedef BitFieldContainer<uint32_t, LBitsPolicy<uint32_t, true>, true>

◆ Context

◆ F32Array

Typed UBJSON array for 32-bit floating point.

◆ GlobalConfigThreadLocalStore

using xgboost::GlobalConfigThreadLocalStore = typedef dmlc::ThreadLocalStore<GlobalConfiguration>

◆ GradientPair

gradient statistics pair usually needed in gradient boosting

◆ GradientPairInt32

Fixed point representation for gradient pair.

◆ GradientPairInt64

Fixed point representation for high precision gradient pair.

◆ GradientPairPrecise

High precision gradient statistics pair.

◆ I32Array

Typed UBJSON array for int32_t.

◆ I64Array

Typed UBJSON array for int64_t.

◆ Integer

using xgboost::Integer = typedef JsonInteger

◆ LBitField32

using xgboost::LBitField32 = typedef BitFieldContainer<uint32_t, LBitsPolicy<uint32_t> >

◆ 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

◆ U8Array

Typed UBJSON array for uint8_t.

◆ 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
strong

data type accepted by xgboost interface

Enumerator
kFloat32 
kDouble 
kUInt32 
kUInt64 
kStr 

◆ FeatureType

enum xgboost::FeatureType : uint8_t
strong
Enumerator
kNumerical 
kCategorical 

◆ 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.
Enumerator
kNone 
kRead 
kWrite 

◆ PredictionType

enum xgboost::PredictionType : std::uint8_t
strong
Enumerator
kValue 
kMargin 
kContribution 
kApproxContribution 
kInteraction 
kApproxInteraction 
kLeaf 

Function Documentation

◆ BuiltinBSwap()

template<typename T >
T xgboost::BuiltinBSwap ( v)

◆ 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 
)
inline

◆ FromJson()

template<typename Parameter >
Args 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.
Parameters
json
Returns
Value contained in Json object of type T.

◆ IntrusivePtrRefCount()

template<typename T >
IntrusivePtrCell& xgboost::IntrusivePtrRefCount ( T const *  ptr)
noexcept

User defined function for returning embedded reference count.

◆ IsA() [1/2]

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

Check whether a Json object has specific type.

Json json {Array{}};
bool is_array = IsA<Array>(json);
CHECK(is_array);

◆ IsA() [2/2]

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

◆ operator!=() [1/4]

template<class T , class U >
bool xgboost::operator!= ( IntrusivePtr< T > const &  x,
IntrusivePtr< U > const &  y 
)
noexcept

◆ operator!=() [2/4]

template<class T , class U >
bool xgboost::operator!= ( IntrusivePtr< T > const &  x,
U *  y 
)
noexcept

◆ operator!=() [3/4]

bool xgboost::operator!= ( StringView  l,
StringView  r 
)
inline

◆ operator!=() [4/4]

template<class T , class U >
bool xgboost::operator!= ( T *  x,
IntrusivePtr< U > const &  y 
)
noexcept

◆ operator<()

template<class T >
bool xgboost::operator< ( IntrusivePtr< T > const &  x,
IntrusivePtr< T > const &  y 
)
noexcept

◆ operator<<() [1/2]

template<class E , class T , class Y >
std::basic_ostream<E, T>& xgboost::operator<< ( std::basic_ostream< E, T > &  os,
IntrusivePtr< Y > const &  p 
)

◆ operator<<() [2/2]

std::ostream& xgboost::operator<< ( std::ostream &  os,
StringView const  v 
)
inline

◆ operator<=()

template<class T >
bool xgboost::operator<= ( IntrusivePtr< T > const &  x,
IntrusivePtr< T > const &  y 
)
noexcept

◆ operator==() [1/4]

template<class T , class U >
bool xgboost::operator== ( IntrusivePtr< T > const &  x,
IntrusivePtr< U > const &  y 
)
noexcept

◆ operator==() [2/4]

template<class T , class U >
bool xgboost::operator== ( IntrusivePtr< T > const &  x,
U *  y 
)
noexcept

◆ operator==() [3/4]

bool xgboost::operator== ( StringView  l,
StringView  r 
)
inline

◆ operator==() [4/4]

template<class T , class U >
bool xgboost::operator== ( T *  x,
IntrusivePtr< U > const &  y 
)
noexcept

◆ operator>()

template<class T >
bool xgboost::operator> ( IntrusivePtr< T > const &  x,
IntrusivePtr< T > const &  y 
)
noexcept

◆ operator>=()

template<class T >
bool xgboost::operator>= ( IntrusivePtr< T > const &  x,
IntrusivePtr< T > const &  y 
)
noexcept

◆ to_chars() [1/2]

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

◆ to_chars() [2/2]

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

◆ ToBigEndian()

template<typename T , std::enable_if_t< sizeof(T)==1 > * = nullptr>
T xgboost::ToBigEndian ( v)
inline

◆ ToJson()

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

Variable Documentation

◆ kRtEps

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

small eps gap for minimum split decision.

xgboost::Array
JsonArray Array
Definition: json.h:589