diff --git a/doc/whats_new/upcoming_changes/sklearn.inspection/302871.fix.rst b/doc/whats_new/upcoming_changes/sklearn.inspection/302871.fix.rst new file mode 100644 index 0000000000000..92999d6cc48ea --- /dev/null +++ b/doc/whats_new/upcoming_changes/sklearn.inspection/302871.fix.rst @@ -0,0 +1,3 @@ +- Fixes an issue where the partial dependence function accidentally tries to select + positive class from binary predictions when they have already been selected. + By :user:`Stephen Pardy ` diff --git a/sklearn/inspection/tests/test_partial_dependence.py b/sklearn/inspection/tests/test_partial_dependence.py index aff12044ee32a..5fe4f0378fc9e 100644 --- a/sklearn/inspection/tests/test_partial_dependence.py +++ b/sklearn/inspection/tests/test_partial_dependence.py @@ -739,15 +739,13 @@ def test_partial_dependence_pipeline(): @pytest.mark.parametrize( - "features, grid_resolution, n_vals_expected", + "grid_resolution", [ - (["a"], 10, 10), - (["a"], 2, 2), + 10, + 2, ], ) -def test_partial_dependence_binary_model_grid_resolution( - features, grid_resolution, n_vals_expected -): +def test_partial_dependence_binary_model_grid_resolution(grid_resolution): pd = pytest.importorskip("pandas") model = DummyClassifier() @@ -763,11 +761,11 @@ def test_partial_dependence_binary_model_grid_resolution( part_dep = partial_dependence( model, X, - features=features, + features=["a"], grid_resolution=grid_resolution, kind="average", ) - assert part_dep["average"].size == n_vals_expected + assert part_dep["average"].size == grid_resolution @pytest.mark.parametrize(