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

Function GetSubsetForFstrCalc

catboost/libs/fstr/loss_change_fstr.cpp:88–120  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86}
87
88const TDataProviderPtr GetSubsetForFstrCalc(
89 const TDataProviderPtr dataset,
90 NPar::ILocalExecutor* localExecutor)
91{
92 ui32 totalDocumentCount = dataset->ObjectsData->GetObjectCount();
93 ui32 maxDocumentCount = SafeIntegerCast<ui32>(
94 GetMaxObjectCountForFstrCalc(
95 totalDocumentCount,
96 SafeIntegerCast<i64>(dataset->ObjectsData->GetFeaturesLayout()->GetExternalFeatureCount())
97 )
98 );
99
100 if (totalDocumentCount > maxDocumentCount) {
101 ui32 foldCount = totalDocumentCount / maxDocumentCount;
102
103 TVector<NCB::TArraySubsetIndexing<ui32>> testSubsets;
104
105 testSubsets = NCB::Split(*dataset->ObjectsGrouping, foldCount, /*oldCvStyleSplit*/ true);
106
107 auto subset = dataset->GetSubset(
108 GetSubset(
109 dataset->ObjectsGrouping,
110 std::move(testSubsets[0]),
111 NCB::EObjectsOrder::Ordered
112 ),
113 NSystemInfo::TotalMemorySize(),
114 localExecutor
115 );
116 return subset;
117 } else {
118 return dataset;
119 }
120}
121
122void CreateMetricAndLossDescriptionForLossChange(
123 const TFullModel& model,

Callers 2

SelectFeaturesFunction · 0.85

Calls 8

GetSubsetFunction · 0.85
SplitFunction · 0.50
moveFunction · 0.50
GetObjectCountMethod · 0.45
GetFeaturesLayoutMethod · 0.45
GetSubsetMethod · 0.45

Tested by

no test coverage detected