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

Function OutputDataDictionary

catboost/libs/model/model_export/pmml_helpers.cpp:69–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67
68
69static void OutputDataDictionary(
70 const TFullModel& model,
71 bool isClassification,
72 TXmlOutputContext* xmlOut) {
73
74 TXmlElementOutputContext dataDictionary(xmlOut, "DataDictionary");
75
76 for (const auto& floatFeature : model.ModelTrees->GetFloatFeatures()) {
77 TXmlElementOutputContext dataField(xmlOut, "DataField");
78 xmlOut->AddAttr("name", CreateFeatureName(floatFeature))
79 .AddAttr("optype", "continuous")
80 .AddAttr("dataType", "float");
81 }
82
83 for (const auto& catFeature : model.ModelTrees->GetCatFeatures()) {
84 {
85 TXmlElementOutputContext dataField(xmlOut, "DataField");
86 xmlOut->AddAttr("name", CreateFeatureName(catFeature))
87 .AddAttr("optype", "categorical")
88 .AddAttr("dataType", "string");
89 }
90 }
91
92 // output
93 {
94 TXmlElementOutputContext dataField(xmlOut, "DataField");
95 xmlOut->AddAttr("name", "prediction");
96 if (isClassification) {
97 xmlOut->AddAttr("optype", "categorical").AddAttr("dataType", "boolean");
98 } else {
99 xmlOut->AddAttr("optype", "continuous").AddAttr("dataType", "double");
100 }
101 }
102 if (isClassification) {
103 TXmlElementOutputContext dataField(xmlOut, "DataField");
104 xmlOut->AddAttr("name", "approx").AddAttr("optype", "continuous").AddAttr("dataType", "double");
105 }
106}
107
108static void OutputTargetsFields(
109 const TFullModel& model,

Callers 1

OutputModelFunction · 0.85

Calls 3

CreateFeatureNameFunction · 0.85
GetFloatFeaturesMethod · 0.80
GetCatFeaturesMethod · 0.80

Tested by

no test coverage detected