MCPcopy Create free account
hub / github.com/antmachineintelligence/mtgbmcode / FixHistogram

Method FixHistogram

python-package/compile/src/io/dataset.cpp:993–1012  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

991}
992
993void Dataset::FixHistogram(int feature_idx, double sum_gradient, double sum_hessian, data_size_t num_data,
994 HistogramBinEntry* data) const {
995 const int group = feature2group_[feature_idx];
996 const int sub_feature = feature2subfeature_[feature_idx];
997 const BinMapper* bin_mapper = feature_groups_[group]->bin_mappers_[sub_feature].get();
998 const int default_bin = bin_mapper->GetDefaultBin();
999 if (default_bin > 0) {
1000 const int num_bin = bin_mapper->num_bin();
1001 data[default_bin].sum_gradients = sum_gradient;
1002 data[default_bin].sum_hessians = sum_hessian;
1003 data[default_bin].cnt = num_data;
1004 for (int i = 0; i < num_bin; ++i) {
1005 if (i != default_bin) {
1006 data[default_bin].sum_gradients -= data[i].sum_gradients;
1007 data[default_bin].sum_hessians -= data[i].sum_hessians;
1008 data[default_bin].cnt -= data[i].cnt;
1009 }
1010 }
1011 }
1012}
1013
1014template<typename T>
1015void PushVector(std::vector<T>* dest, const std::vector<T>& src) {

Calls 3

getMethod · 0.45
GetDefaultBinMethod · 0.45
num_binMethod · 0.45

Tested by

no test coverage detected