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

Function GetFeatureToIdxMap

catboost/libs/fstr/calc_fstr.cpp:71–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71static THashMap<TFeature, int, TFeatureHash> GetFeatureToIdxMap(
72 const TFullModel& model,
73 TVector<TFeature>* features)
74{
75 THashMap<TFeature, int, TFeatureHash> featureToIdx;
76 const auto& modelBinFeatures = model.ModelTrees->GetBinFeatures();
77 int binFeaturesNum = modelBinFeatures.size();
78
79 for (auto binSplit : model.ModelTrees->GetModelTreeData()->GetTreeSplits()) {
80 if (binSplit >= binFeaturesNum) {
81 continue;
82 }
83 TFeature feature = GetFeature(model, modelBinFeatures[binSplit]);
84 if (featureToIdx.contains(feature)) {
85 continue;
86 }
87 int featureIdx = featureToIdx.ysize();
88 featureToIdx[feature] = featureIdx;
89 features->push_back(feature);
90 }
91 return featureToIdx;
92}
93
94TVector<std::pair<double, TFeature>> CalcFeatureEffectAverageChange(
95 const TFullModel& model,

Callers 2

Calls 7

GetFeatureFunction · 0.85
GetTreeSplitsMethod · 0.80
GetBinFeaturesMethod · 0.45
sizeMethod · 0.45
containsMethod · 0.45
ysizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected