"include/git@developer.sourcefind.cn:tianlh/lightgbm-dcu.git" did not exist on "de39dbcf3d74b5e894dfc297f7eeaf5eb56c9701"
objective_function.cpp 806 Bytes
Newer Older
Guolin Ke's avatar
Guolin Ke committed
1
2
3
4
#include <LightGBM/objective_function.h>
#include "regression_objective.hpp"
#include "binary_objective.hpp"
#include "rank_objective.hpp"
5
#include "multiclass_objective.hpp"
Guolin Ke's avatar
Guolin Ke committed
6
7
8
9

namespace LightGBM {

ObjectiveFunction* ObjectiveFunction::CreateObjectiveFunction(const std::string& type, const ObjectiveConfig& config) {
Guolin Ke's avatar
Guolin Ke committed
10
  if (type == std::string("regression")) {
Guolin Ke's avatar
Guolin Ke committed
11
    return new RegressionL2loss(config);
Tsukasa OMOTO's avatar
Tsukasa OMOTO committed
12
13
  } else if (type == std::string("huber")) {
    return new RegressionLHuberLoss(config);
Guolin Ke's avatar
Guolin Ke committed
14
  } else if (type == std::string("binary")) {
Guolin Ke's avatar
Guolin Ke committed
15
    return new BinaryLogloss(config);
Guolin Ke's avatar
Guolin Ke committed
16
  } else if (type == std::string("lambdarank")) {
Guolin Ke's avatar
Guolin Ke committed
17
    return new LambdarankNDCG(config);
Guolin Ke's avatar
Guolin Ke committed
18
  } else if (type == std::string("multiclass")) {
19
    return new MulticlassLogloss(config);
Guolin Ke's avatar
Guolin Ke committed
20
21
22
23
  }
  return nullptr;
}
}  // namespace LightGBM