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

Method GetSubset

catboost/libs/data/target.cpp:644–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

642
643
644TRawTargetDataProvider TRawTargetDataProvider::GetSubset(
645 const TObjectsGroupingSubset& objectsGroupingSubset,
646 NPar::ILocalExecutor* localExecutor
647) const {
648 const TArraySubsetIndexing<ui32>& objectsSubsetIndexing = objectsGroupingSubset.GetObjectsIndexing();
649
650 TRawTargetData subsetData;
651 subsetData.TargetType = Data.TargetType;
652
653 TVector<std::function<void()>> tasks;
654
655 if (TMaybeData<TConstArrayRef<TRawTarget>> maybeTarget = GetTarget()) {
656 TConstArrayRef<TRawTarget> target = *maybeTarget;
657 subsetData.Target.resize(target.size());
658 for (auto targetIdx : xrange(target.size())) {
659 tasks.emplace_back(
660 [&, target, targetIdx]() {
661 GetRawTargetSubset(
662 target[targetIdx],
663 objectsSubsetIndexing,
664 localExecutor,
665 &subsetData.Target[targetIdx]
666 );
667 }
668 );
669 }
670 }
671
672 tasks.emplace_back(
673 [&, this]() {
674 GetMultidimBaselineSubset(
675 Data.Baseline,
676 objectsSubsetIndexing,
677 localExecutor,
678 &subsetData.Baseline
679 );
680 }
681 );
682
683 tasks.emplace_back(
684 [&, this]() {
685 subsetData.Weights = Data.Weights.GetSubset(objectsSubsetIndexing, localExecutor);
686 }
687 );
688
689 tasks.emplace_back(
690 [&, this]() {
691 subsetData.GroupWeights = Data.GroupWeights.GetSubset(objectsSubsetIndexing, localExecutor);
692 }
693 );
694
695 if (Data.Pairs) {
696 tasks.emplace_back(
697 [&, this]() {
698 TRawPairsData subsetPairs;
699 GetPairsSubset(*Data.Pairs, *ObjectsGrouping, objectsGroupingSubset, &subsetPairs);
700 subsetData.Pairs = std::move(subsetPairs);
701 }

Callers 15

GetRandomDatasetBatchFunction · 0.45
GetSubsetForFstrCalcFunction · 0.45
GetResultMethod · 0.45
GetLastResultMethod · 0.45
AddFloatFeatureMethod · 0.45
AddEmbeddingFeatureMethod · 0.45
GetRawTargetSubsetFunction · 0.45

Calls 13

xrangeFunction · 0.85
GetRawTargetSubsetFunction · 0.85
GetPairsSubsetFunction · 0.85
GetSubsetGroupingMethod · 0.80
moveFunction · 0.50
resizeMethod · 0.45
sizeMethod · 0.45
emplace_backMethod · 0.45
emplaceMethod · 0.45

Tested by 1

TestGetSubsetFunction · 0.36