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

Function ProcessIgnoredFeaturesList

catboost/libs/data/loader.cpp:27–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26
27 void ProcessIgnoredFeaturesList(
28 TConstArrayRef<ui32> ignoredFeatures, // [flatFeatureIdx]
29 TMaybe<TString> allFeaturesIgnoredMessage,
30 TDataMetaInfo* dataMetaInfo, // inout, must be inited, only ignored flags are updated
31 TVector<bool>* ignoredFeaturesMask // [flatFeatureIdx], out
32 ) {
33 CB_ENSURE_INTERNAL(
34 dataMetaInfo->FeaturesLayout,
35 "ProcessIgnoredFeaturesList: TDataMetaInfo must be inited"
36 );
37
38 const ui32 featureCount = dataMetaInfo->GetFeatureCount();
39
40 ignoredFeaturesMask->assign((size_t)featureCount, false);
41
42 ui32 ignoredFeaturesInDataCount = 0;
43 for (auto ignoredFeatureFlatIdx : ignoredFeatures) {
44 if (ignoredFeatureFlatIdx >= featureCount) {
45 continue;
46 }
47
48 dataMetaInfo->FeaturesLayout->IgnoreExternalFeature(ignoredFeatureFlatIdx);
49
50 // handle possible duplicates
51 ignoredFeaturesInDataCount += (*ignoredFeaturesMask)[ignoredFeatureFlatIdx] == false;
52 (*ignoredFeaturesMask)[ignoredFeatureFlatIdx] = true;
53 }
54 CB_ENSURE(
55 featureCount > ignoredFeaturesInDataCount,
56 (allFeaturesIgnoredMessage.Defined() ?
57 *allFeaturesIgnoredMessage
58 : "All features are requested to be ignored"));
59 }
60
61
62 static TVector<TVector<float>> ReadBaseline(const TPathWithScheme& filePath, ui64 docCount, TDatasetSubset loadSubset, const TVector<TString>& classNames) {

Callers 2

TCBDsvDataLoaderMethod · 0.85

Calls 4

IgnoreExternalFeatureMethod · 0.80
GetFeatureCountMethod · 0.45
assignMethod · 0.45
DefinedMethod · 0.45

Tested by

no test coverage detected