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

Function CreateClassificationTarget

catboost/private/libs/algo/data.cpp:307–324  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

305 }
306
307 static TClassificationTargetPtr CreateClassificationTarget(const TTargetDataProvider& targetDataProvider, ui32 targetIdx) {
308 const bool isMultiLabel = targetDataProvider.GetTargetDimension() > 1;
309 const ui32 numClasses = isMultiLabel ? 2 : *targetDataProvider.GetTargetClassCount();
310 const auto extractClasses = [&](auto isBinClass) {
311 TConstArrayRef<float> target = (*targetDataProvider.GetTarget())[targetIdx];
312 TVector<ui32> classes;
313 classes.yresize(target.size());
314
315 for (ui32 i = 0; i < target.size(); i++) {
316 classes[i] = static_cast<ui32>(isBinClass ? target[i] > 0.5f : target[i]);
317 }
318 return classes;
319 };
320 return MakeIntrusive<TClassificationTarget>(
321 DispatchGenericLambda(extractClasses, numClasses == 2),
322 numClasses
323 );
324 }
325
326 static bool HasOnlineEstimators(
327 TConstArrayRef<NCatboostOptions::TFeatureCalcerDescription> featureCalcerDescription

Callers 1

CreateEstimatorsFunction · 0.85

Calls 6

DispatchGenericLambdaFunction · 0.85
GetTargetClassCountMethod · 0.80
yresizeMethod · 0.80
GetTargetDimensionMethod · 0.45
GetTargetMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected