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

Method TDataMetaInfo

catboost/libs/data/meta_info.cpp:54–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52
53
54TDataMetaInfo::TDataMetaInfo(
55 TMaybe<TDataColumnsMetaInfo>&& columnsInfo,
56 ERawTargetType targetType,
57 bool hasAdditionalGroupWeight,
58 bool hasTimestamp,
59 bool hasPairs,
60 bool hasGraph,
61 bool loadSampleIds,
62 bool forceUnitAutoPairWeights,
63 TMaybe<ui32> additionalBaselineCount,
64 TMaybe<const TVector<TString>*> featureNames,
65 TMaybe<const THashMap<TString, TTagDescription>*> featureTags,
66 const TVector<NJson::TJsonValue>& classLabels
67)
68 : TargetType(targetType)
69 , ClassLabels(classLabels)
70 , ColumnsInfo(std::move(columnsInfo))
71{
72 ColumnsInfo->Validate();
73
74 FeaturesLayout = TFeaturesLayout::CreateFeaturesLayout(ColumnsInfo->Columns, featureNames, featureTags, hasGraph);
75
76 TargetCount = ColumnsInfo->CountColumns(EColumn::Label);
77 if (TargetCount) {
78 CB_ENSURE(TargetType != ERawTargetType::None, "data has target columns, but target type specified as None");
79 } else {
80 CB_ENSURE(
81 TargetType == ERawTargetType::None,
82 "data has no target columns, but target type specified as not None"
83 );
84 }
85
86 BaselineCount = additionalBaselineCount ? *additionalBaselineCount : ColumnsInfo->CountColumns(EColumn::Baseline);
87
88 HasGroupId = ColumnsInfo->CountColumns(EColumn::GroupId) != 0;
89 HasGroupWeight = ColumnsInfo->CountColumns(EColumn::GroupWeight) != 0 || hasAdditionalGroupWeight;
90 HasSubgroupIds = ColumnsInfo->CountColumns(EColumn::SubgroupId) != 0;
91 if (loadSampleIds) {
92 HasSampleId = ColumnsInfo->CountColumns(EColumn::SampleId) != 0;
93 if (HasSampleId) {
94 StoreStringColumns = true;
95 }
96 }
97 HasWeights = ColumnsInfo->CountColumns(EColumn::Weight) != 0;
98 HasTimestamp = ColumnsInfo->CountColumns(EColumn::Timestamp) != 0 || hasTimestamp;
99 HasPairs = hasPairs;
100 HasGraph = hasGraph;
101 ForceUnitAutoPairWeights = forceUnitAutoPairWeights;
102
103 Validate();
104}
105
106bool TDataMetaInfo::EqualTo(const TDataMetaInfo& rhs, bool ignoreSparsity) const {
107 if (FeaturesLayout) {

Callers

nothing calls this directly

Calls 4

CountColumnsMethod · 0.80
moveFunction · 0.50
ValidateFunction · 0.50
ValidateMethod · 0.45

Tested by

no test coverage detected