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 >
IntrusivePtrCell & | IntrusivePtrRefCount (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 >
T | BuiltinBSwap (T v)
template<typename T , std::enable_if_t< sizeof(T)==1 > * = nullptr>
T | 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

using xgboost::Context = typedef GenericParameter

## ◆ F32Array

using xgboost::F32Array = typedef JsonTypedArray<float, Value::ValueKind::kNumberArray>

Typed UBJSON array for 32-bit floating point.

## ◆ GlobalConfigThreadLocalStore

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

## ◆ GradientPair

using xgboost::GradientPair = typedef detail::GradientPairInternal<float>

gradient statistics pair usually needed in gradient boosting

## ◆ GradientPairInt32

using xgboost::GradientPairInt32 = typedef detail::GradientPairInternal<int>

Fixed point representation for gradient pair.

## ◆ GradientPairInt64

using xgboost::GradientPairInt64 = typedef detail::GradientPairInternal<int64_t>

Fixed point representation for high precision gradient pair.

## ◆ GradientPairPrecise

using xgboost::GradientPairPrecise = typedef detail::GradientPairInternal<double>

High precision gradient statistics pair.

## ◆ I32Array

using xgboost::I32Array = typedef JsonTypedArray<int32_t, Value::ValueKind::kI32Array>

Typed UBJSON array for int32_t.

## ◆ I64Array

using xgboost::I64Array = typedef JsonTypedArray<int64_t, Value::ValueKind::kI64Array>

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

using xgboost::U8Array = typedef JsonTypedArray<uint8_t, Value::ValueKind::kU8Array>

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

enum xgboost::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 | ( | T | 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

  T | One 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 | ( | T | 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