30#include <unordered_map>
35namespace Experimental {
45 RBDT(
const std::string &key,
const std::string &
filename);
51 template <
typename Vector>
61 inline std::vector<Value_t>
Compute(std::vector<Value_t>
const &
x)
const {
return Compute<std::vector<Value_t>>(
x); }
65 static RBDT LoadText(std::string
const &txtpath, std::vector<std::string> &features,
int nClasses,
bool logistic,
79 LoadText(std::istream &is, std::vector<std::string> &features,
int nClasses,
bool logistic,
Value_t baseScore);
#define ClassDefNV(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
std::vector< Value_t > fCutValues
static void terminateTree(TMVA::Experimental::RBDT &ff, int &nPreviousNodes, int &nPreviousLeaves, IndexMap &nodeIndices, IndexMap &leafIndices, int &treesSkipped)
RBDT()=default
IO constructor (both for ROOT IO and LoadText()).
static void correctIndices(std::span< int > indices, IndexMap const &nodeIndices, IndexMap const &leafIndices)
RBDT uses a more efficient representation of the BDT in flat arrays.
std::vector< int > fRightIndices
std::unordered_map< int, int > IndexMap
Map from XGBoost to RBDT indices.
void Softmax(const Value_t *array, Value_t *out) const
std::vector< int > fTreeNumbers
Value_t EvaluateBinary(const Value_t *array) const
std::vector< Value_t > fResponses
std::vector< Value_t > fBaseResponses
std::vector< Value_t > Compute(std::vector< Value_t > const &x) const
Compute model prediction on a single event.
Vector Compute(const Vector &x) const
Compute model prediction on a single event.
std::vector< unsigned int > fCutIndices
void ComputeImpl(const Value_t *array, Value_t *out) const
static RBDT LoadText(std::string const &txtpath, std::vector< std::string > &features, int nClasses, bool logistic, Value_t baseScore)
std::vector< int > fRootIndices
std::vector< int > fLeftIndices
RTensor is a container with contiguous memory and shape information.
create variable transformations