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

Function GenerateFeaturesPermutation

catboost/libs/fstr/sage_values.cpp:205–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203};
204
205TVector<std::pair<ui32, EFeatureType>> GenerateFeaturesPermutation(TFeaturesLayoutPtr featuresLayout,
206 TRestorableFastRng64* randPtr) {
207 TVector<std::pair<ui32, EFeatureType>> featuresPermutation;
208
209 for (ui32 i = 0; i < featuresLayout->GetFloatFeatureCount(); ++i) {
210 featuresPermutation.emplace_back(i, EFeatureType::Float);
211 }
212
213 for (ui32 i = 0; i < featuresLayout->GetCatFeatureCount(); ++i) {
214 featuresPermutation.emplace_back(i, EFeatureType::Categorical);
215 }
216
217 for (ui32 i = 0; i < featuresLayout->GetTextFeatureCount(); ++i) {
218 featuresPermutation.emplace_back(i, EFeatureType::Text);
219 }
220
221 for (ui32 i = 0; i < featuresLayout->GetEmbeddingFeatureCount(); ++i) {
222 featuresPermutation.emplace_back(i, EFeatureType::Embedding);
223 }
224
225 Shuffle(featuresPermutation.begin(), featuresPermutation.end(), *randPtr);
226
227 return featuresPermutation;
228}
229
230TDataProvider GetRandomDatasetBatch(
231 const TDataProvider& dataset,

Callers 1

CalcSageValuesFunction · 0.85

Calls 8

GetCatFeatureCountMethod · 0.80
ShuffleFunction · 0.50
GetFloatFeatureCountMethod · 0.45
emplace_backMethod · 0.45
GetTextFeatureCountMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected