Skip to content

Commit d1c19e8

Browse files
MNT: replace usage of regression_coverage_score by regression_coverage_score_v2 everywhere except doc examples and notebooks
1 parent 2e4c742 commit d1c19e8

File tree

6 files changed

+21
-61
lines changed

6 files changed

+21
-61
lines changed

doc/api.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ Regression Metrics
9292
:toctree: generated/
9393
:template: function.rst
9494

95-
mapie.metrics.regression.regression_coverage_score
9695
mapie.metrics.regression.regression_coverage_score_v2
9796
mapie.metrics.regression.regression_mean_width_score
9897
mapie.metrics.regression.regression_ssc

mapie/metrics/regression.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -542,11 +542,10 @@ def coverage_width_based(
542542

543543
check_alpha(1-alpha)
544544

545-
coverage_score = regression_coverage_score(
545+
coverage_score = regression_coverage_score_v2(
546546
y_true,
547-
y_pred_low,
548-
y_pred_up
549-
)
547+
np.column_stack((y_pred_low, y_pred_up)),
548+
)[0]
550549
mean_width = regression_mean_width_score(
551550
y_pred_low,
552551
y_pred_up

mapie/tests/test_metrics.py

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
classification_ssc, classification_ssc_score,
3333
)
3434
from mapie.metrics.regression import (
35-
regression_coverage_score,
3635
regression_mean_width_score,
3736
regression_coverage_score_v2,
3837
regression_ssc,
@@ -194,8 +193,6 @@
194193

195194
def test_regression_ypredlow_shape() -> None:
196195
"""Test shape of y_pred_low."""
197-
with pytest.raises(ValueError, match=r".*y should be a 1d array*"):
198-
regression_coverage_score(y_toy, y_preds[:, :2], y_preds[:, 2])
199196
with pytest.raises(ValueError, match=r".*y should be a 1d array*"):
200197
regression_mean_width_score(y_preds[:, :2], y_preds[:, 2])
201198
with pytest.raises(ValueError):
@@ -206,8 +203,6 @@ def test_regression_ypredlow_shape() -> None:
206203

207204
def test_regression_ypredup_shape() -> None:
208205
"""Test shape of y_pred_up."""
209-
with pytest.raises(ValueError, match=r".*y should be a 1d array*"):
210-
regression_coverage_score(y_toy, y_preds[:, 1], y_preds[:, 1:])
211206
with pytest.raises(ValueError, match=r".*y should be a 1d array*"):
212207
regression_mean_width_score(y_preds[:, :2], y_preds[:, 2])
213208
with pytest.raises(ValueError):
@@ -251,8 +246,6 @@ def test_regression_valid_input_shape() -> None:
251246

252247
def test_regression_same_length() -> None:
253248
"""Test when y_true and y_preds have different lengths."""
254-
with pytest.raises(ValueError, match=r".*arrays with different len*"):
255-
regression_coverage_score(y_toy, y_preds[:-1, 1], y_preds[:-1, 2])
256249
with pytest.raises(ValueError, match=r".*y should be a 1d array*"):
257250
regression_mean_width_score(y_preds[:, :2], y_preds[:, 2])
258251
with pytest.raises(ValueError, match=r".*shape mismatch*"):
@@ -269,25 +262,7 @@ def test_regression_same_length() -> None:
269262

270263
def test_regression_toydata_coverage_score() -> None:
271264
"""Test coverage_score for toy data."""
272-
scr = regression_coverage_score(y_toy, y_preds[:, 1], y_preds[:, 2])
273-
assert scr == 0.8
274-
275-
276-
def test_regression_ytrue_type_coverage_score() -> None:
277-
"""Test that list(y_true) gives right coverage."""
278-
scr = regression_coverage_score(list(y_toy), y_preds[:, 1], y_preds[:, 2])
279-
assert scr == 0.8
280-
281-
282-
def test_regression_ypredlow_type_coverage_score() -> None:
283-
"""Test that list(y_pred_low) gives right coverage."""
284-
scr = regression_coverage_score(y_toy, list(y_preds[:, 1]), y_preds[:, 2])
285-
assert scr == 0.8
286-
287-
288-
def test_regression_ypredup_type_coverage_score() -> None:
289-
"""Test that list(y_pred_up) gives right coverage."""
290-
scr = regression_coverage_score(y_toy, y_preds[:, 1], list(y_preds[:, 2]))
265+
scr = regression_coverage_score_v2(y_toy, y_preds[:, 1:])[0]
291266
assert scr == 0.8
292267

293268

@@ -582,18 +557,6 @@ def test_hsic_correlation_value() -> None:
582557
np.testing.assert_allclose(coef, np.array([0.16829506, 0.3052798]))
583558

584559

585-
def test_regression_coverage_v1andv2() -> None:
586-
"""
587-
Test that ``regression_coverage_score`` and
588-
```regression_coverage_score_v2``` returns the same results
589-
"""
590-
cov_v1 = regression_coverage_score(
591-
y_toy, intervals[:, 0, 0], intervals[:, 1, 0]
592-
)
593-
cov_v2 = regression_coverage_score_v2(np.expand_dims(y_toy, 1), intervals)
594-
np.testing.assert_allclose(cov_v1, cov_v2[0])
595-
596-
597560
def test_regression_coverage_score_v2_ytrue_valid_shape() -> None:
598561
"""Test that no error is raised if y_true has the shape (n_samples,)."""
599562
regression_coverage_score_v2(y_toy, intervals)

mapie/tests/test_quantile_regression.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
from typing_extensions import TypedDict
2020

2121
from numpy.typing import NDArray
22-
from mapie.metrics.regression import regression_coverage_score
22+
from mapie.metrics.regression import (
23+
regression_coverage_score_v2,
24+
)
2325
from mapie.regression import MapieQuantileRegressor
2426

2527
X_toy = np.array(
@@ -514,7 +516,7 @@ def test_linear_regression_results(strategy: str) -> None:
514516
_, y_pis = mapie.predict(X)
515517
y_pred_low, y_pred_up = y_pis[:, 0, 0], y_pis[:, 1, 0]
516518
width_mean = (y_pred_up - y_pred_low).mean()
517-
coverage = regression_coverage_score(y, y_pred_low, y_pred_up)
519+
coverage = regression_coverage_score_v2(y, y_pis)[0]
518520
np.testing.assert_allclose(width_mean, WIDTHS[strategy], rtol=1e-2)
519521
np.testing.assert_allclose(coverage, COVERAGES[strategy], rtol=1e-2)
520522

mapie/tests/test_regression.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@
3131
ResidualNormalisedScore
3232
)
3333
from mapie.estimator.regressor import EnsembleRegressor
34-
from mapie.metrics.regression import regression_coverage_score
34+
from mapie.metrics.regression import (
35+
regression_coverage_score_v2,
36+
)
3537
from mapie.regression import MapieRegressor
3638
from mapie.subsample import Subsample
3739

@@ -312,8 +314,7 @@ def test_coverage_validity(delta: float, n_calib: int) -> None:
312314
Xc, Xt, yc, yt = train_test_split(Xct, yct, test_size=n_test)
313315
mapie_reg.fit(Xc, yc)
314316
_, y_pis = mapie_reg.predict(Xt, alpha=1-delta)
315-
y_low, y_up = y_pis[:, 0, 0], y_pis[:, 1, 0]
316-
coverage = regression_coverage_score(yt, y_low, y_up)
317+
coverage = regression_coverage_score_v2(yt, y_pis)[0]
317318
cov_list.append(coverage)
318319

319320
# Here we are testing whether the average coverage is statistically
@@ -620,7 +621,7 @@ def test_linear_regression_results(strategy: str) -> None:
620621
_, y_pis = mapie.predict(X, alpha=0.05)
621622
y_pred_low, y_pred_up = y_pis[:, 0, 0], y_pis[:, 1, 0]
622623
width_mean = (y_pred_up - y_pred_low).mean()
623-
coverage = regression_coverage_score(y, y_pred_low, y_pred_up)
624+
coverage = regression_coverage_score_v2(y, y_pis)[0]
624625
np.testing.assert_allclose(width_mean, WIDTHS[strategy], rtol=1e-2)
625626
np.testing.assert_allclose(coverage, COVERAGES[strategy], rtol=1e-2)
626627

@@ -650,7 +651,7 @@ def test_results_prefit_naive() -> None:
650651
mapie_reg.fit(X, y)
651652
_, y_pis = mapie_reg.predict(X, alpha=0.05)
652653
width_mean = (y_pis[:, 1, 0] - y_pis[:, 0, 0]).mean()
653-
coverage = regression_coverage_score(y, y_pis[:, 0, 0], y_pis[:, 1, 0])
654+
coverage = regression_coverage_score_v2(y, y_pis)[0]
654655
np.testing.assert_allclose(width_mean, WIDTHS["naive"], rtol=1e-2)
655656
np.testing.assert_allclose(coverage, COVERAGES["naive"], rtol=1e-2)
656657

@@ -665,9 +666,7 @@ def test_results_prefit() -> None:
665666
mapie_reg.fit(X_calib, y_calib)
666667
_, y_pis = mapie_reg.predict(X_calib, alpha=0.05)
667668
width_mean = (y_pis[:, 1, 0] - y_pis[:, 0, 0]).mean()
668-
coverage = regression_coverage_score(
669-
y_calib, y_pis[:, 0, 0], y_pis[:, 1, 0]
670-
)
669+
coverage = regression_coverage_score_v2(y_calib, y_pis)[0]
671670
np.testing.assert_allclose(width_mean, WIDTHS["prefit"], rtol=1e-2)
672671
np.testing.assert_allclose(coverage, COVERAGES["prefit"], rtol=1e-2)
673672

mapie/tests/test_time_series_regression.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
from numpy.typing import NDArray
1414
from mapie.aggregation_functions import aggregate_all
1515
from mapie.conformity_scores import AbsoluteConformityScore
16-
from mapie.metrics.regression import regression_coverage_score
16+
from mapie.metrics.regression import (
17+
regression_coverage_score_v2,
18+
)
1719
from mapie.regression import MapieTimeSeriesRegressor
1820
from mapie.subsample import BlockBootstrap
1921

@@ -284,7 +286,7 @@ def test_linear_regression_results(strategy: str) -> None:
284286
y_pred_low, y_pred_up = y_pis[:, 0, 0], y_pis[:, 1, 0]
285287
width_mean = (y_pred_up - y_pred_low).mean()
286288

287-
coverage = regression_coverage_score(y, y_pred_low, y_pred_up)
289+
coverage = regression_coverage_score_v2(y, y_pis)[0]
288290
np.testing.assert_allclose(width_mean, WIDTHS[strategy], rtol=1e-2)
289291
np.testing.assert_allclose(coverage, COVERAGES[strategy], rtol=1e-2)
290292

@@ -304,9 +306,7 @@ def test_results_prefit() -> None:
304306
mapie_ts_reg.fit(X_val, y_val)
305307
_, y_pis = mapie_ts_reg.predict(X_test, alpha=0.05)
306308
width_mean = (y_pis[:, 1, 0] - y_pis[:, 0, 0]).mean()
307-
coverage = regression_coverage_score(
308-
y_test, y_pis[:, 0, 0], y_pis[:, 1, 0]
309-
)
309+
coverage = regression_coverage_score_v2(y_test, y_pis)[0]
310310
np.testing.assert_allclose(width_mean, WIDTHS["prefit"], rtol=1e-2)
311311
np.testing.assert_allclose(coverage, COVERAGES["prefit"], rtol=1e-2)
312312

@@ -423,9 +423,7 @@ def test_interval_prediction_with_beta_optimize() -> None:
423423
mapie_ts_reg.update(X_val, y_val)
424424
_, y_pis = mapie_ts_reg.predict(X_test, alpha=0.05, optimize_beta=True)
425425
width_mean = (y_pis[:, 1, 0] - y_pis[:, 0, 0]).mean()
426-
coverage = regression_coverage_score(
427-
y_test, y_pis[:, 0, 0], y_pis[:, 1, 0]
428-
)
426+
coverage = regression_coverage_score_v2(y_test, y_pis)[0]
429427
np.testing.assert_allclose(width_mean, 3.67, rtol=1e-2)
430428
np.testing.assert_allclose(coverage, 0.916, rtol=1e-2)
431429

0 commit comments

Comments
 (0)