"include/git@developer.sourcefind.cn:tianlh/lightgbm-dcu.git" did not exist on "3a06ce35ed3dfd882b246880f32866337f31ac99"
Commit fe9f292c authored by Nikita Titov's avatar Nikita Titov Committed by Guolin Ke
Browse files

added new early_stopping param alias (#2431)

parent be206a96
...@@ -212,7 +212,7 @@ lgb.cv <- function(params = list(), ...@@ -212,7 +212,7 @@ lgb.cv <- function(params = list(),
} }
# Check for early stopping passed as parameter when adding early stopping callback # Check for early stopping passed as parameter when adding early stopping callback
early_stop <- c("early_stopping_round", "early_stopping_rounds", "early_stopping") early_stop <- c("early_stopping_round", "early_stopping_rounds", "early_stopping", "n_iter_no_change")
if (any(names(params) %in% early_stop)) { if (any(names(params) %in% early_stop)) {
if (params[[which(names(params) %in% early_stop)[1]]] > 0) { if (params[[which(names(params) %in% early_stop)[1]]] > 0) {
callbacks <- add.cb(callbacks, cb.early.stop(params[[which(names(params) %in% early_stop)[1]]], verbose = verbose)) callbacks <- add.cb(callbacks, cb.early.stop(params[[which(names(params) %in% early_stop)[1]]], verbose = verbose))
......
...@@ -195,7 +195,7 @@ lgb.train <- function(params = list(), ...@@ -195,7 +195,7 @@ lgb.train <- function(params = list(),
} }
# Check for early stopping passed as parameter when adding early stopping callback # Check for early stopping passed as parameter when adding early stopping callback
early_stop <- c("early_stopping_round", "early_stopping_rounds", "early_stopping") early_stop <- c("early_stopping_round", "early_stopping_rounds", "early_stopping", "n_iter_no_change")
if (any(names(params) %in% early_stop)) { if (any(names(params) %in% early_stop)) {
if (params[[which(names(params) %in% early_stop)[1]]] > 0) { if (params[[which(names(params) %in% early_stop)[1]]] > 0) {
callbacks <- add.cb(callbacks, cb.early.stop(params[[which(names(params) %in% early_stop)[1]]], verbose = verbose)) callbacks <- add.cb(callbacks, cb.early.stop(params[[which(names(params) %in% early_stop)[1]]], verbose = verbose))
......
...@@ -276,7 +276,7 @@ Learning Control Parameters ...@@ -276,7 +276,7 @@ Learning Control Parameters
- random seed for ``feature_fraction`` - random seed for ``feature_fraction``
- ``early_stopping_round`` :raw-html:`<a id="early_stopping_round" title="Permalink to this parameter" href="#early_stopping_round">&#x1F517;&#xFE0E;</a>`, default = ``0``, type = int, aliases: ``early_stopping_rounds``, ``early_stopping`` - ``early_stopping_round`` :raw-html:`<a id="early_stopping_round" title="Permalink to this parameter" href="#early_stopping_round">&#x1F517;&#xFE0E;</a>`, default = ``0``, type = int, aliases: ``early_stopping_rounds``, ``early_stopping``, ``n_iter_no_change``
- will stop training if one metric of one validation data doesn't improve in last ``early_stopping_round`` rounds - will stop training if one metric of one validation data doesn't improve in last ``early_stopping_round`` rounds
......
...@@ -288,7 +288,7 @@ struct Config { ...@@ -288,7 +288,7 @@ struct Config {
// desc = random seed for ``feature_fraction`` // desc = random seed for ``feature_fraction``
int feature_fraction_seed = 2; int feature_fraction_seed = 2;
// alias = early_stopping_rounds, early_stopping // alias = early_stopping_rounds, early_stopping, n_iter_no_change
// desc = will stop training if one metric of one validation data doesn't improve in last ``early_stopping_round`` rounds // desc = will stop training if one metric of one validation data doesn't improve in last ``early_stopping_round`` rounds
// desc = ``<= 0`` means disable // desc = ``<= 0`` means disable
int early_stopping_round = 0; int early_stopping_round = 0;
......
...@@ -147,7 +147,7 @@ def train(params, train_set, num_boost_round=100, ...@@ -147,7 +147,7 @@ def train(params, train_set, num_boost_round=100,
num_boost_round = params.pop(alias) num_boost_round = params.pop(alias)
warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias)) warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias))
break break
for alias in ["early_stopping_round", "early_stopping_rounds", "early_stopping"]: for alias in ["early_stopping_round", "early_stopping_rounds", "early_stopping", "n_iter_no_change"]:
if alias in params: if alias in params:
early_stopping_rounds = params.pop(alias) early_stopping_rounds = params.pop(alias)
warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias)) warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias))
...@@ -502,7 +502,7 @@ def cv(params, train_set, num_boost_round=100, ...@@ -502,7 +502,7 @@ def cv(params, train_set, num_boost_round=100,
warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias)) warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias))
num_boost_round = params.pop(alias) num_boost_round = params.pop(alias)
break break
for alias in ["early_stopping_round", "early_stopping_rounds", "early_stopping"]: for alias in ["early_stopping_round", "early_stopping_rounds", "early_stopping", "n_iter_no_change"]:
if alias in params: if alias in params:
warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias)) warnings.warn("Found `{}` in params. Will use it instead of argument".format(alias))
early_stopping_rounds = params.pop(alias) early_stopping_rounds = params.pop(alias)
......
...@@ -72,6 +72,7 @@ std::unordered_map<std::string, std::string> Config::alias_table({ ...@@ -72,6 +72,7 @@ std::unordered_map<std::string, std::string> Config::alias_table({
{"colsample_bynode", "feature_fraction_bynode"}, {"colsample_bynode", "feature_fraction_bynode"},
{"early_stopping_rounds", "early_stopping_round"}, {"early_stopping_rounds", "early_stopping_round"},
{"early_stopping", "early_stopping_round"}, {"early_stopping", "early_stopping_round"},
{"n_iter_no_change", "early_stopping_round"},
{"max_tree_output", "max_delta_step"}, {"max_tree_output", "max_delta_step"},
{"max_leaf_output", "max_delta_step"}, {"max_leaf_output", "max_delta_step"},
{"reg_alpha", "lambda_l1"}, {"reg_alpha", "lambda_l1"},
......
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