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

Function GetProbabilityMeanValues

catboost/libs/fstr/independent_tree_shap.cpp:384–403  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

382}
383
384static TVector<TVector<double>> GetProbabilityMeanValues(
385 const TVector<TVector<TVector<double>>>& shapValues, // [refIdx][dim][feature]
386 const TVector<double>& bias
387) {
388 TVector<TVector<double>> probabilityMeanValues(shapValues[0].size(), TVector<double>(shapValues.size(), 0.0));
389 for (auto referenceIdx : xrange(shapValues.size())) {
390 const auto& shapValuesForReference = shapValues[referenceIdx];
391 const size_t approxDimension = shapValuesForReference.size();
392 TVector<double> meanValuesForReference(approxDimension);
393 for (auto dimension : xrange(approxDimension)) {
394 meanValuesForReference[dimension] = shapValuesForReference[dimension].back() + bias[dimension];
395 }
396 TVector<double> probabilityMeanValuesForReference(approxDimension);
397 CalcSoftmax(meanValuesForReference, &probabilityMeanValuesForReference);
398 for (auto dimension : xrange(approxDimension)) {
399 probabilityMeanValues[dimension][referenceIdx] = probabilityMeanValuesForReference[dimension];
400 }
401 }
402 return probabilityMeanValues;
403}
404
405void PostProcessingIndependent(
406 const TIndependentTreeShapParams& independentTreeShapParams,

Callers 1

Calls 4

xrangeFunction · 0.85
CalcSoftmaxFunction · 0.50
sizeMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected