diff --git a/responsibleai/responsibleai/rai_insights/rai_insights.py b/responsibleai/responsibleai/rai_insights/rai_insights.py index a6773486f6..97036e7647 100644 --- a/responsibleai/responsibleai/rai_insights/rai_insights.py +++ b/responsibleai/responsibleai/rai_insights/rai_insights.py @@ -323,8 +323,8 @@ def _validate_model_analysis_input_parameters( if task_type == ModelTask.REGRESSION: if hasattr(model, SKLearn.PREDICT_PROBA): - warnings.warn( - 'INVALID-TASK-TYPE-WARNING: The regression model' + raise UserConfigValidationException( + 'The regression model' 'provided has a predict_proba function. ' 'Please check the task_type.') else: diff --git a/responsibleai/tests/test_model_analysis_validations.py b/responsibleai/tests/test_model_analysis_validations.py index 91ad4b3d7d..db5a8c76f6 100644 --- a/responsibleai/tests/test_model_analysis_validations.py +++ b/responsibleai/tests/test_model_analysis_validations.py @@ -13,8 +13,9 @@ from responsibleai.modelanalysis.model_analysis import ModelAnalysis from .common_utils import (create_binary_classification_dataset, - create_cancer_data, create_iris_data, - create_lightgbm_classifier) + create_cancer_data, create_housing_data, + create_iris_data, create_lightgbm_classifier, + create_sklearn_random_forest_regressor) class TestModelAnalysisValidations: @@ -234,10 +235,10 @@ def test_model_analysis_incorrect_task_type(self): X_train['target'] = y_train X_test['target'] = y_test - err_msg = ('INVALID-TASK-TYPE-WARNING: The regression model' + err_msg = ('The regression model' 'provided has a predict_proba function. ' 'Please check the task_type.') - with pytest.warns(UserWarning, match=err_msg): + with pytest.raises(UserConfigValidationException, match=err_msg): ModelAnalysis( model=model, train=X_train, @@ -424,18 +425,20 @@ def test_desired_class_not_set(self): method='random') def test_desired_range_not_set(self): - X_train, y_train, X_test, y_test, _ = \ - create_binary_classification_dataset() + X_train, X_test, y_train, y_test, feature_names = \ + create_housing_data() - model = create_lightgbm_classifier(X_train, y_train) - X_train['target'] = y_train - X_test['target'] = y_test + model = create_sklearn_random_forest_regressor(X_train, y_train) + X_train = pd.DataFrame(X_train, columns=feature_names) + X_test = pd.DataFrame(X_test, columns=feature_names) + X_train['TARGET'] = y_train + X_test['TARGET'] = y_test model_analysis = ModelAnalysis( model=model, train=X_train, test=X_test, - target_column='target', + target_column='TARGET', task_type='regression') with pytest.raises( UserConfigValidationException, diff --git a/responsibleai/tests/test_rai_insights_validations.py b/responsibleai/tests/test_rai_insights_validations.py index 1fda4a9a6a..c53edb537a 100644 --- a/responsibleai/tests/test_rai_insights_validations.py +++ b/responsibleai/tests/test_rai_insights_validations.py @@ -13,8 +13,9 @@ from responsibleai.exceptions import UserConfigValidationException from .common_utils import (create_binary_classification_dataset, - create_cancer_data, create_iris_data, - create_lightgbm_classifier) + create_cancer_data, create_housing_data, + create_iris_data, create_lightgbm_classifier, + create_sklearn_random_forest_regressor) TARGET = 'target' @@ -236,10 +237,10 @@ def test_model_analysis_incorrect_task_type(self): X_train[TARGET] = y_train X_test[TARGET] = y_test - err_msg = ('INVALID-TASK-TYPE-WARNING: The regression model' + err_msg = ('The regression model' 'provided has a predict_proba function. ' 'Please check the task_type.') - with pytest.warns(UserWarning, match=err_msg): + with pytest.raises(UserConfigValidationException, match=err_msg): RAIInsights( model=model, train=X_train, @@ -502,10 +503,12 @@ def test_desired_class_not_set(self): method='random') def test_desired_range_not_set(self): - X_train, y_train, X_test, y_test, _ = \ - create_binary_classification_dataset() + X_train, X_test, y_train, y_test, feature_names = \ + create_housing_data() - model = create_lightgbm_classifier(X_train, y_train) + model = create_sklearn_random_forest_regressor(X_train, y_train) + X_train = pd.DataFrame(X_train, columns=feature_names) + X_test = pd.DataFrame(X_test, columns=feature_names) X_train[TARGET] = y_train X_test[TARGET] = y_test