"...git@developer.sourcefind.cn:tianlh/lightgbm-dcu.git" did not exist on "113da3af602739d4945339674ea758b8a0aa0b5d"
Commit 6fa51478 authored by Guolin Ke's avatar Guolin Ke
Browse files

reduce the cost of bagging.

parent 1c66bfcb
...@@ -98,19 +98,11 @@ void SerialTreeLearner::Init(const Dataset* train_data, bool is_constant_hessian ...@@ -98,19 +98,11 @@ void SerialTreeLearner::Init(const Dataset* train_data, bool is_constant_hessian
void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) { void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) {
train_data_ = train_data; train_data_ = train_data;
num_data_ = train_data_->num_data(); num_data_ = train_data_->num_data();
num_features_ = train_data_->num_features(); CHECK(num_features_ == train_data_->num_features());
// get ordered bin // get ordered bin
train_data_->CreateOrderedBins(&ordered_bins_); train_data_->CreateOrderedBins(&ordered_bins_);
has_ordered_bin_ = false;
// check existing for ordered bin
for (int i = 0; i < static_cast<int>(ordered_bins_.size()); ++i) {
if (ordered_bins_[i] != nullptr) {
has_ordered_bin_ = true;
break;
}
}
// initialize splits for leaf // initialize splits for leaf
smaller_leaf_splits_->ResetNumData(num_data_); smaller_leaf_splits_->ResetNumData(num_data_);
larger_leaf_splits_->ResetNumData(num_data_); larger_leaf_splits_->ResetNumData(num_data_);
...@@ -118,8 +110,6 @@ void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) { ...@@ -118,8 +110,6 @@ void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) {
// initialize data partition // initialize data partition
data_partition_->ResetNumData(num_data_); data_partition_->ResetNumData(num_data_);
is_feature_used_.resize(num_features_);
// initialize ordered gradients and hessians // initialize ordered gradients and hessians
ordered_gradients_.resize(num_data_); ordered_gradients_.resize(num_data_);
ordered_hessians_.resize(num_data_); ordered_hessians_.resize(num_data_);
...@@ -127,12 +117,6 @@ void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) { ...@@ -127,12 +117,6 @@ void SerialTreeLearner::ResetTrainingData(const Dataset* train_data) {
if (has_ordered_bin_) { if (has_ordered_bin_) {
is_data_in_leaf_.resize(num_data_); is_data_in_leaf_.resize(num_data_);
std::fill(is_data_in_leaf_.begin(), is_data_in_leaf_.end(), static_cast<char>(0)); std::fill(is_data_in_leaf_.begin(), is_data_in_leaf_.end(), static_cast<char>(0));
ordered_bin_indices_.clear();
for (int i = 0; i < static_cast<int>(ordered_bins_.size()); i++) {
if (ordered_bins_[i] != nullptr) {
ordered_bin_indices_.push_back(i);
}
}
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment