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

Function ValidateColumnOutput

catboost/libs/eval_result/eval_result.cpp:77–188  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75 }
76
77 void ValidateColumnOutput(
78 const TVector<TVector<TString>>& outputColumns,
79 const TDataProvider& pool,
80 bool cvMode)
81 {
82 THashSet<TString> featureIds;
83 for (const auto& featureMetaInfo : pool.MetaInfo.FeaturesLayout->GetExternalFeaturesMetaInfo()) {
84 featureIds.emplace(featureMetaInfo.Name);
85 }
86 THashSet<TString> auxiliaryColumnNames;
87 if (pool.MetaInfo.ColumnsInfo.Defined()) {
88 for (const auto& columnMetaInfo : pool.MetaInfo.ColumnsInfo->Columns) {
89 if (columnMetaInfo.Type == EColumn::Auxiliary && columnMetaInfo.Id) {
90 auxiliaryColumnNames.insert(columnMetaInfo.Id);
91 }
92 }
93 }
94
95 bool notQuantizedPool = bool(dynamic_cast<TRawObjectsDataProvider*>(pool.ObjectsData.Get()));
96
97 for (const auto& columns : outputColumns) {
98 bool hasPrediction = false;
99
100 for (const auto& name : columns) {
101 EPredictionType predictionType;
102 if (TryFromString<EPredictionType>(name, predictionType)) {
103 hasPrediction = true;
104 continue;
105 }
106
107 EColumn columnType;
108 if (TryFromString<EColumn>(ToCanonicalColumnName(name), columnType)) {
109 switch (columnType) {
110 case (EColumn::Label):
111 CB_ENSURE(
112 pool.MetaInfo.TargetCount > 0,
113 "bad output column name " << name << " (No target/label info in pool)"
114 );
115 break;
116 case (EColumn::Baseline):
117 CB_ENSURE(
118 pool.MetaInfo.BaselineCount > 0,
119 "bad output column name " << name << " (No baseline info in pool)"
120 );
121 break;
122 case (EColumn::Weight):
123 CB_ENSURE(
124 pool.MetaInfo.HasWeights,
125 "bad output column name " << name << " (No Weight info in pool)"
126 );
127 break;
128 case (EColumn::GroupId):
129 CB_ENSURE(
130 pool.MetaInfo.HasGroupId,
131 "bad output column name " << name << " (No GroupId info in pool)"
132 );
133 break;
134 case (EColumn::SubgroupId):

Callers 2

CalcModelSingleHostMethod · 0.85
TrainModelFunction · 0.85

Calls 13

ToCanonicalColumnNameFunction · 0.85
IsFactorColumnFunction · 0.85
ParseOutputColumnByIndexFunction · 0.85
emplaceMethod · 0.45
DefinedMethod · 0.45
insertMethod · 0.45
GetMethod · 0.45
compareMethod · 0.45
lengthMethod · 0.45
substrMethod · 0.45

Tested by

no test coverage detected