MCPcopy Create free account
hub / github.com/catboost/catboost / AddBinTree

Method AddBinTree

catboost/libs/model/model.cpp:238–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

236}
237
238void TModelTrees::AddBinTree(const TVector<int>& binSplits) {
239 auto& data = *CastToSolidTree(*this);
240
241 Y_ASSERT(data.TreeSizes.size() == data.TreeStartOffsets.size() && data.TreeSplits.empty() == data.TreeSizes.empty());
242 data.TreeSplits.insert(data.TreeSplits.end(), binSplits.begin(), binSplits.end());
243 if (data.TreeStartOffsets.empty()) {
244 data.TreeStartOffsets.push_back(0);
245 } else {
246 data.TreeStartOffsets.push_back(data.TreeStartOffsets.back() + data.TreeSizes.back());
247 }
248 data.TreeSizes.push_back(binSplits.ysize());
249}
250
251void TModelTrees::ClearLeafWeights() {
252 CastToSolidTree(*this)->LeafWeights.clear();

Callers 3

SimpleFloatModelFunction · 0.80
SimpleDeepTreeModelFunction · 0.80
MultiValueFloatModelFunction · 0.80

Calls 9

CastToSolidTreeFunction · 0.85
sizeMethod · 0.45
emptyMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
push_backMethod · 0.45
backMethod · 0.45
ysizeMethod · 0.45

Tested by 3

SimpleFloatModelFunction · 0.64
SimpleDeepTreeModelFunction · 0.64
MultiValueFloatModelFunction · 0.64