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

Function GetMaybeGeneratedModelFeatureIds

catboost/libs/fstr/calc_fstr.cpp:617–647  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

615}
616
617TVector<TString> GetMaybeGeneratedModelFeatureIds(
618 const TFullModel& model,
619 const TFeaturesLayoutPtr datasetFeaturesLayout)
620{
621 const NCB::TFeaturesLayout modelFeaturesLayout = MakeFeaturesLayout(model);
622 TVector<TString> modelFeatureIds(modelFeaturesLayout.GetExternalFeatureCount());
623 if (AllFeatureIdsEmpty(modelFeaturesLayout.GetExternalFeaturesMetaInfo())) {
624 if (datasetFeaturesLayout) {
625 THashMap<ui32, ui32> columnIndexesReorderMap; // unused
626 CheckModelAndDatasetCompatibility(model, *datasetFeaturesLayout, &columnIndexesReorderMap);
627 const auto datasetFeaturesMetaInfo = datasetFeaturesLayout->GetExternalFeaturesMetaInfo();
628 if (!AllFeatureIdsEmpty(datasetFeaturesMetaInfo)) {
629 CB_ENSURE(
630 datasetFeaturesMetaInfo.size() >= modelFeatureIds.size(),
631 "Dataset has less features than the model"
632 );
633 for (auto i : xrange(modelFeatureIds.size())) {
634 modelFeatureIds[i] = datasetFeaturesMetaInfo[i].Name;
635 }
636 }
637 }
638 } else {
639 modelFeatureIds = modelFeaturesLayout.GetExternalFeatureIds();
640 }
641 for (size_t i = 0; i < modelFeatureIds.size(); ++i) {
642 if (modelFeatureIds[i].empty()) {
643 modelFeatureIds[i] = ToString(i);
644 }
645 }
646 return modelFeatureIds;
647}
648
649TVector<TString> GetMaybeGeneratedModelFeatureIds(const TFullModel& model, const TDataProviderPtr dataset) {
650 TFeaturesLayoutPtr datasetFeaturesLayout;

Callers

nothing calls this directly

Calls 11

AllFeatureIdsEmptyFunction · 0.85
xrangeFunction · 0.85
GetExternalFeatureIdsMethod · 0.80
MakeFeaturesLayoutFunction · 0.50
ToStringFunction · 0.50
moveFunction · 0.50
sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected