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

Function InitializeSamplingStructures

catboost/libs/train_lib/train_model.cpp:312–342  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

310}
311
312static void InitializeSamplingStructures(
313 const TTrainingDataProviders& data,
314 TLearnContext* ctx) {
315
316 const bool isPairwiseScoring = IsPairwiseScoring(ctx->Params.LossFunctionDescription->GetLossFunction());
317 const int defaultCalcStatsObjBlockSize = static_cast<int>(ctx->Params.ObliviousTreeOptions->DevScoreCalcObjBlockSize);
318
319 if (ctx->UseTreeLevelCaching()) {
320 ctx->SmallestSplitSideDocs.Create(
321 ctx->LearnProgress->Folds,
322 isPairwiseScoring,
323 data.EstimatedObjectsData.GetFeatureCount() != 0,
324 defaultCalcStatsObjBlockSize
325 );
326 ctx->PrevTreeLevelStats.Create(
327 ctx->LearnProgress->Folds,
328 CountNonCtrBuckets(
329 *data.Learn->ObjectsData->GetFeaturesLayout(),
330 *data.Learn->ObjectsData->GetQuantizedFeaturesInfo(),
331 ctx->Params.CatFeatureParams->OneHotMaxSize),
332 static_cast<int>(ctx->Params.ObliviousTreeOptions->MaxDepth)
333 );
334 }
335 ctx->SampledDocs.Create(
336 ctx->LearnProgress->Folds,
337 isPairwiseScoring,
338 data.EstimatedObjectsData.GetFeatureCount() != 0,
339 defaultCalcStatsObjBlockSize,
340 GetBernoulliSampleRate(ctx->Params.ObliviousTreeOptions->BootstrapConfig)
341 ); // TODO(espetrov): create only if sample rate < 1
342}
343
344static void LogThatStoppingOccured(const TErrorTracker& errorTracker) {
345 CATBOOST_NOTICE_LOG << "Stopped by overfitting detector "

Callers 1

TrainFunction · 0.85

Calls 9

IsPairwiseScoringFunction · 0.85
CountNonCtrBucketsFunction · 0.85
GetBernoulliSampleRateFunction · 0.85
UseTreeLevelCachingMethod · 0.80
GetLossFunctionMethod · 0.45
CreateMethod · 0.45
GetFeatureCountMethod · 0.45
GetFeaturesLayoutMethod · 0.45

Tested by

no test coverage detected