Commit 091b4139 authored by Guolin Ke's avatar Guolin Ke
Browse files

don't use "ConvertToRawScore" for self-defined objective function.

parent 76990797
...@@ -314,7 +314,9 @@ bool GBDT::TrainOneIter(const score_t* gradient, const score_t* hessian, bool is ...@@ -314,7 +314,9 @@ bool GBDT::TrainOneIter(const score_t* gradient, const score_t* hessian, bool is
for (int i = 0; i < num_class_; ++i) { for (int i = 0; i < num_class_; ++i) {
init_scores[i] = sum_per_class[i] / num_data_; init_scores[i] = sum_per_class[i] / num_data_;
} }
init_scores = object_function_->ConvertToRawScore(init_scores); if (object_function_ != nullptr) {
init_scores = object_function_->ConvertToRawScore(init_scores);
}
for (int curr_class = 0; curr_class < num_class_; ++curr_class) { for (int curr_class = 0; curr_class < num_class_; ++curr_class) {
std::unique_ptr<Tree> new_tree(new Tree(2)); std::unique_ptr<Tree> new_tree(new Tree(2));
new_tree->Split(0, 0, BinType::NumericalBin, 0, 0, 0, init_scores[curr_class], init_scores[curr_class], 0, num_data_, 1); new_tree->Split(0, 0, BinType::NumericalBin, 0, 0, 0, init_scores[curr_class], init_scores[curr_class], 0, num_data_, 1);
......
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