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

Method CreateValid

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

Source from the content-addressed store, hash-verified

456}
457
458void Dataset::CreateValid(const Dataset* dataset) {
459 feature_groups_.clear();
460 num_features_ = dataset->num_features_;
461 num_groups_ = num_features_;
462 sparse_threshold_ = dataset->sparse_threshold_;
463 bool is_enable_sparse = true;
464 feature2group_.clear();
465 feature2subfeature_.clear();
466 // copy feature bin mapper data
467 for (int i = 0; i < num_features_; ++i) {
468 std::vector<std::unique_ptr<BinMapper>> bin_mappers;
469 bin_mappers.emplace_back(new BinMapper(*(dataset->FeatureBinMapper(i))));
470 feature_groups_.emplace_back(new FeatureGroup(
471 1,
472 &bin_mappers,
473 num_data_,
474 sparse_threshold_,
475 is_enable_sparse));
476 feature2group_.push_back(i);
477 feature2subfeature_.push_back(0);
478 }
479
480 feature_groups_.shrink_to_fit();
481 used_feature_map_ = dataset->used_feature_map_;
482 num_total_features_ = dataset->num_total_features_;
483 feature_names_ = dataset->feature_names_;
484 label_idx_ = dataset->label_idx_;
485 real_feature_idx_ = dataset->real_feature_idx_;
486 group_bin_boundaries_.clear();
487 uint64_t num_total_bin = 0;
488 group_bin_boundaries_.push_back(num_total_bin);
489 for (int i = 0; i < num_groups_; ++i) {
490 num_total_bin += feature_groups_[i]->num_total_bin_;
491 group_bin_boundaries_.push_back(num_total_bin);
492 }
493 int last_group = 0;
494 group_feature_start_.reserve(num_groups_);
495 group_feature_cnt_.reserve(num_groups_);
496 group_feature_start_.push_back(0);
497 group_feature_cnt_.push_back(1);
498 for (int i = 1; i < num_features_; ++i) {
499 const int group = feature2group_[i];
500 if (group == last_group) {
501 group_feature_cnt_.back() = group_feature_cnt_.back() + 1;
502 } else {
503 group_feature_start_.push_back(i);
504 group_feature_cnt_.push_back(1);
505 last_group = group;
506 }
507 }
508 monotone_types_ = dataset->monotone_types_;
509 feature_penalty_ = dataset->feature_penalty_;
510 forced_bin_bounds_ = dataset->forced_bin_bounds_;
511}
512
513void Dataset::ReSize(data_size_t num_data) {
514 if (num_data_ != num_data) {

Calls 6

push_backMethod · 0.80
clearMethod · 0.45
FeatureBinMapperMethod · 0.45
shrink_to_fitMethod · 0.45
reserveMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected