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

Method GetSubset

catboost/libs/data/objects.cpp:272–334  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

270}
271
272NCB::TCommonObjectsData NCB::TCommonObjectsData::GetSubset(
273 const TObjectsGroupingSubset& objectsGroupingSubset,
274 NPar::ILocalExecutor* localExecutor
275) const {
276 TCommonObjectsData result;
277 result.ResourceHolders = ResourceHolders;
278 result.FeaturesLayout = FeaturesLayout;
279 result.Order = Combine(Order, objectsGroupingSubset.GetObjectSubsetOrder());
280 result.SetStoreStringColumns(StoreStringColumns);
281
282 result.CatFeaturesHashToString = CatFeaturesHashToString;
283
284 TVector<std::function<void()>> tasks;
285
286 tasks.emplace_back(
287 [&, this]() {
288 result.SubsetIndexing = MakeAtomicShared<TArraySubsetIndexing<ui32>>(
289 Compose(*SubsetIndexing, objectsGroupingSubset.GetObjectsIndexing())
290 );
291 }
292 );
293
294 tasks.emplace_back(
295 [&, this]() {
296 result.GroupIds = GetSubsetFromMaybeStringOrNumIdColumn(
297 GroupIds,
298 objectsGroupingSubset.GetObjectsIndexing(),
299 localExecutor
300 );
301 }
302 );
303 tasks.emplace_back(
304 [&, this]() {
305 result.SampleId = GetSubsetOfMaybeEmpty<TString>(
306 (TMaybeData<TConstArrayRef<TString>>) SampleId,
307 objectsGroupingSubset.GetObjectsIndexing(),
308 localExecutor
309 );
310 }
311 );
312 tasks.emplace_back(
313 [&, this]() {
314 result.SubgroupIds = GetSubsetFromMaybeStringOrNumIdColumn(
315 SubgroupIds,
316 objectsGroupingSubset.GetObjectsIndexing(),
317 localExecutor
318 );
319 }
320 );
321 tasks.emplace_back(
322 [&, this]() {
323 result.Timestamp = GetSubsetOfMaybeEmpty<ui64>(
324 (TMaybeData<TConstArrayRef<ui64>>)Timestamp,
325 objectsGroupingSubset.GetObjectsIndexing(),
326 localExecutor
327 );
328 }
329 );

Callers 1

GetSubsetImplMethod · 0.45

Calls 6

ComposeFunction · 0.85
GetObjectSubsetOrderMethod · 0.80
CombineFunction · 0.70
SetStoreStringColumnsMethod · 0.45
emplace_backMethod · 0.45

Tested by

no test coverage detected