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

Method ComputeNonAdditiveMetrics

catboost/private/libs/algo/plot.cpp:291–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

289}
290
291void TMetricsPlotCalcer::ComputeNonAdditiveMetrics(ui32 begin, ui32 end) {
292 const auto& target = NonAdditiveMetricsData.Target;
293 const auto& weights = NonAdditiveMetricsData.Weights;
294 CB_ENSURE(target.size() == 1, "Multitarget metrics are not supported yet");
295
296 for (auto idx : xrange(begin, end)) {
297 auto approx = LoadApprox(idx);
298 auto results = EvalErrorsWithCaching(
299 approx,
300 /*approxDelts*/{},
301 /*isExpApprox*/false,
302 To2DConstArrayRef<float>(target),
303 weights,
304 {},
305 NonAdditiveMetrics,
306 &Executor
307 );
308
309 for (auto metricId : xrange(NonAdditiveMetrics.size())) {
310 NonAdditiveMetricPlots[metricId][idx] = results[metricId];
311 }
312
313 if (idx != 0) {
314 DeleteApprox(idx - 1);
315 }
316 }
317}
318
319static TVector<TVector<float>> BuildTargets(const TVector<TProcessedDataProvider>& datasetParts) {
320 const auto targetDim = datasetParts.empty() ? 0 : datasetParts[0].TargetData->GetTargetDimension();

Callers 1

mode_eval_metricsFunction · 0.80

Calls 12

xrangeFunction · 0.85
BuildTargetsFunction · 0.85
BuildWeightsFunction · 0.85
InitApproxBufferFunction · 0.85
GetStartDocIdxFunction · 0.85
ApplyModelMultiMethod · 0.80
EvalErrorsWithCachingFunction · 0.50
AppendFunction · 0.50
sizeMethod · 0.45
GetDimensionsCountMethod · 0.45
emplace_backMethod · 0.45
ysizeMethod · 0.45

Tested by

no test coverage detected