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

Function FindQuantileTimestamp

catboost/libs/train_lib/eval_feature.cpp:362–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

360}
361
362static ui64 FindQuantileTimestamp(TConstArrayRef<TGroupId> groupIds, TConstArrayRef<ui64> timestamps, double quantile) {
363 TVector<ui64> groupTimestamps;
364 groupTimestamps.reserve(groupIds.size());
365
366 TGroupId lastGroupId = groupIds[0];
367 groupTimestamps.push_back(timestamps[0]);
368 for (auto idx : xrange((size_t)1, groupIds.size())) {
369 if (groupIds[idx] != lastGroupId) {
370 lastGroupId = groupIds[idx];
371 groupTimestamps.push_back(timestamps[idx]);
372 }
373 }
374 std::sort(groupTimestamps.begin(), groupTimestamps.end());
375 const auto quantileTimestamp = groupTimestamps[groupTimestamps.size() * quantile];
376 CATBOOST_INFO_LOG << "Quantile timestamp " << quantileTimestamp << Endl;
377 return quantileTimestamp;
378}
379
380static void CreateFoldData(
381 typename TTrainingDataProviders::TDataPtr srcData,

Callers 2

PrepareTimeSplitFoldsFunction · 0.85
CountDisjointFoldsFunction · 0.85

Calls 7

xrangeFunction · 0.85
sortFunction · 0.50
reserveMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected