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

Function MakeQuantizedColumn

catboost/libs/data/quantization.cpp:1041–1088  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1039 class TSrc,
1040 class TDst>
1041 static void MakeQuantizedColumn(
1042 const TSrc& srcFeature,
1043 const TQuantizedFeaturesInfo& quantizedFeaturesInfo,
1044 const TIncrementalDenseIndexing& incrementalDenseIndexing,
1045 ESparseArrayIndexingType sparseArrayIndexingType,
1046 const TFeaturesArraySubsetIndexing* dstSubsetIndexing,
1047 NPar::ILocalExecutor* localExecutor,
1048
1049 // pass as parameter to enable type deduction
1050 THolder<TDst>* dstFeature
1051 ) {
1052 TValueQuantizer<TSrc> valueQuantizer(quantizedFeaturesInfo, srcFeature.GetId());
1053
1054 // dispatch by storedDstValueType
1055 auto makeQuantizedColumnForStoredDstValue = [&] (auto storedDstValueExample) {
1056 if (valueQuantizer.GetDefaultBin()) {
1057 MakeQuantizedColumnWithDefaultBin<decltype(storedDstValueExample)>(
1058 srcFeature,
1059 std::move(valueQuantizer),
1060 sparseArrayIndexingType,
1061 dstFeature
1062 );
1063 } else {
1064 MakeQuantizedColumnWithoutDefaultBin<decltype(storedDstValueExample)>(
1065 srcFeature,
1066 incrementalDenseIndexing,
1067 std::move(valueQuantizer),
1068 dstSubsetIndexing,
1069 localExecutor,
1070 dstFeature
1071 );
1072 }
1073 };
1074
1075 switch (valueQuantizer.GetDstBitsPerKey()) {
1076 case 8:
1077 makeQuantizedColumnForStoredDstValue(ui8());
1078 break;
1079 case 16:
1080 makeQuantizedColumnForStoredDstValue(ui16());
1081 break;
1082 case 32:
1083 makeQuantizedColumnForStoredDstValue(ui32());
1084 break;
1085 default:
1086 CB_ENSURE_INTERNAL(false, "MakeQuantizedColumn: unsupported bits per key");
1087 }
1088 }
1089
1090 TMaybe<ui32> GetDefaultQuantizedValue(
1091 const TQuantizedFeaturesInfo& quantizedFeaturesInfo,

Callers 3

ProcessFloatFeatureFunction · 0.85
ProcessCatFeatureFunction · 0.85

Calls 4

moveFunction · 0.50
GetIdMethod · 0.45
GetDefaultBinMethod · 0.45
GetDstBitsPerKeyMethod · 0.45

Tested by

no test coverage detected