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

Method CalcWxTestAndAverageDelta

catboost/libs/train_lib/eval_feature.cpp:184–208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

182
183
184void TFeatureEvaluationSummary::CalcWxTestAndAverageDelta() {
185 const auto featureSetCount = GetFeatureSetCount();
186 const auto metricCount = MetricTypes.size();
187 TVector<double> averageDelta(metricCount);
188 WxTest.resize(featureSetCount);
189 AverageMetricDelta.resize(featureSetCount);
190 constexpr ui32 LossIdx = 0;
191 for (auto featureSetIdx : xrange(featureSetCount)) {
192 const auto& baselineMetrics = BestMetrics[/*isTest*/0][featureSetIdx];
193 const auto& testedMetrics = FeatureSets.empty() ? baselineMetrics : BestMetrics[/*isTest*/1][featureSetIdx];
194 WxTest[featureSetIdx] = ::WxTest(baselineMetrics[LossIdx], testedMetrics[LossIdx]).PValue;
195
196 const auto foldCount = baselineMetrics.size();
197 for (auto metricIdx : xrange(metricCount)) {
198 const auto baselineAverage = Accumulate(baselineMetrics[metricIdx], 0.0) / foldCount;
199 const auto testedAverage = Accumulate(testedMetrics[metricIdx], 0.0) / foldCount;
200 if (MetricTypes[metricIdx] == EMetricBestValue::Min) {
201 averageDelta[metricIdx] = - testedAverage + baselineAverage;
202 } else {
203 averageDelta[metricIdx] = + testedAverage - baselineAverage;
204 }
205 }
206 AverageMetricDelta[featureSetIdx] = averageDelta;
207 }
208}
209
210
211static void CreateLogFromHistory(

Callers 1

EvaluateFeaturesFunction · 0.80

Calls 6

xrangeFunction · 0.85
WxTestFunction · 0.85
AccumulateFunction · 0.85
sizeMethod · 0.45
resizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected