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

Method TObjectsDataProvider

catboost/libs/data/objects.cpp:352–390  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

350
351
352NCB::TObjectsDataProvider::TObjectsDataProvider(
353 // if not defined - call CreateObjectsGroupingFromGroupIds
354 TMaybe<TObjectsGroupingPtr> objectsGrouping,
355 TCommonObjectsData&& commonData,
356 bool skipCheck
357) {
358 if (objectsGrouping.Defined()) {
359 if (!skipCheck) {
360 commonData.Check(objectsGrouping);
361 }
362 ObjectsGrouping = std::move(*objectsGrouping);
363 } else {
364 if (!skipCheck) {
365 commonData.CheckAllExceptGroupIds();
366 }
367 ObjectsGrouping = MakeIntrusive<TObjectsGrouping>(
368 commonData.StoreStringColumns ?
369 CreateObjectsGroupingFromGroupIds<TString>(
370 commonData.SubsetIndexing->Size(),
371 commonData.GroupIds.GetMaybeStringData() // Nothing(), Turn off group checks for quantization due to time
372 ) :
373 CreateObjectsGroupingFromGroupIds<TGroupId>(
374 commonData.SubsetIndexing->Size(),
375 commonData.GroupIds.GetMaybeNumData()
376 )
377 );
378 }
379 CommonData = std::move(commonData);
380
381 if ((CommonData.Order == EObjectsOrder::Undefined) && CommonData.Timestamp) {
382 const auto& timestamps = *CommonData.Timestamp;
383 if ((ObjectsGrouping->GetObjectCount() > 1) &&
384 std::is_sorted(timestamps.begin(), timestamps.end()) &&
385 (timestamps.front() != timestamps.back()))
386 {
387 CommonData.Order = EObjectsOrder::Ordered;
388 }
389 }
390}
391
392void NCB::TObjectsDataProvider::SetGroupIds(TConstArrayRef<TGroupId> groupIds) {
393 ObjectsGrouping = MakeIntrusive<TObjectsGrouping>(

Callers

nothing calls this directly

Calls 11

moveFunction · 0.50
is_sortedFunction · 0.50
DefinedMethod · 0.45
CheckMethod · 0.45
SizeMethod · 0.45
GetObjectCountMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
frontMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected