[tests] replace pytest.parametrize (#4377)

* replace pytest.parametrize

* add informative message for assert
This commit is contained in:
Nikita Titov 2021-06-15 18:51:41 +03:00 коммит произвёл GitHub
Родитель a592316a00
Коммит c738c83bbd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 12 добавлений и 9 удалений

Просмотреть файл

@ -1252,8 +1252,8 @@ def generate_trainset_for_monotone_constraints_tests(x3_to_category=True):
return trainset
@pytest.mark.parametrize("test_with_interaction_constraints", [True, False])
def test_monotone_constraints(test_with_interaction_constraints):
@pytest.mark.parametrize("test_with_categorical_variable", [True, False])
def test_monotone_constraints(test_with_categorical_variable):
def is_increasing(y):
return (np.diff(y) >= 0.0).all()
@ -1316,10 +1316,12 @@ def test_monotone_constraints(test_with_interaction_constraints):
return not has_interaction_flag.any()
for test_with_categorical_variable in [True, False]:
trainset = generate_trainset_for_monotone_constraints_tests(
test_with_categorical_variable
)
trainset = generate_trainset_for_monotone_constraints_tests(
test_with_categorical_variable
)
for test_with_interaction_constraints in [True, False]:
error_msg = ("Model not correctly constrained "
f"(test_with_interaction_constraints={test_with_interaction_constraints})")
for monotone_constraints_method in ["basic", "intermediate", "advanced"]:
params = {
"min_data": 20,
@ -1333,7 +1335,7 @@ def test_monotone_constraints(test_with_interaction_constraints):
constrained_model = lgb.train(params, trainset)
assert is_correctly_constrained(
constrained_model, test_with_categorical_variable
)
), error_msg
if test_with_interaction_constraints:
feature_sets = [["Column_0"], ["Column_1"], "Column_2"]
assert are_interactions_enforced(constrained_model, feature_sets)
@ -1399,8 +1401,9 @@ def test_monotone_penalty_max():
}
unconstrained_model = lgb.train(params_unconstrained_model, trainset_unconstrained_model, 10)
unconstrained_model_predictions = unconstrained_model.\
predict(x3_negatively_correlated_with_y.reshape(-1, 1))
unconstrained_model_predictions = unconstrained_model.predict(
x3_negatively_correlated_with_y.reshape(-1, 1)
)
for monotone_constraints_method in ["basic", "intermediate", "advanced"]:
params_constrained_model["monotone_constraints_method"] = monotone_constraints_method