monotone_constraints
¶
Available in: AutoML, GBM, XGBoost
Hyperparameter: no
Description¶
A mapping that represents monotonic constraints. Use +1 to enforce an increasing constraint and -1 to specify a decreasing constraint. Note that constraints can only be defined for numerical columns.
Note: In GBM and XGBoost, this option can only be used when the distribution is gaussian
, bernoulli
, tweedie
. In GBM also quantile
distribution is supported.
You can enable monotone constraints consistency check using the system property: sys.ai.h2o.tree.constraintConsistencyCheck=true
. It checks the parent prediction is in interval of the children predictions. It is disabled by default.
Example¶
library(h2o)
h2o.init()
# import the prostate dataset:
prostate = h2o.importFile("http://s3.amazonaws.com/h2o-public-test-data/smalldata/prostate/prostate.csv.zip")
# convert the CAPSULE column to a factor
prostate$CAPSULE <- as.factor(prostate$CAPSULE)
response <- "CAPSULE"
# train a model using the monotone_constraints option
prostate_gbm <- h2o.gbm(y = response,
monotone_constraints = list(AGE = 1),
seed = 1234,
training_frame = prostate)
import h2o
from h2o.estimators.gbm import H2OGradientBoostingEstimator
h2o.init()
# import the prostate dataset:
prostate = h2o.import_file("http://s3.amazonaws.com/h2o-public-test-data/smalldata/prostate/prostate.csv.zip")
# convert the CAPSULE column to a factor
prostate["CAPSULE"] = prostate["CAPSULE"].asfactor()
response = "CAPSULE"
seed = 1234
# train a model using the monotone_constraints option
monotone_constraints={"AGE":1}
gbm_model = H2OGradientBoostingEstimator(seed=seed, monotone_constraints=monotone_constraints)
gbm_model.train(y=response, ignored_columns=["ID"], training_frame=prostate)