Test: Metrics (Scores & Plots)
Motivation
Ensure that all metrics available under /metrics/scores and /metrics/plots are:
- Fully compatible with the scikit-learn API
- Reusable within pipelines, cross-validation, and AutoML workflows
- Deterministic, reproducible, and easy to test
- Safe for production usage (no hidden state or side effects)
Scope
Implement unit tests and light integration tests for:
- Metric score functions (
/metrics/scores)
- Custom sklearn scorers (
*_scorer.py)
- Plotting utilities (
/metrics/plots)
The initial scope focuses on binary classification, with future extensibility to multiclass classification and regression.
Metrics – Scores
Components Covered
ks_score.py
average_precision_lift_score.py
ks_scorer.py
average_precision_lift_scorer.py
Acceptance Criteria – Scores
API & sklearn Compatibility
Input Types
Output
Robustness
Metrics – Plots
Components Covered
roc_curve.py
precision_recall_curve.py
calibration_curve.py
ks_curve.py
Acceptance Criteria – Plots
API & Usability
Input Compatibility
Output & Testability
Robustness
Test: Metrics (Scores & Plots)
Motivation
Ensure that all metrics available under
/metrics/scoresand/metrics/plotsare:Scope
Implement unit tests and light integration tests for:
/metrics/scores)*_scorer.py)/metrics/plots)The initial scope focuses on binary classification, with future extensibility to multiclass classification and regression.
Metrics – Scores
Components Covered
ks_score.pyaverage_precision_lift_score.pyks_scorer.pyaverage_precision_lift_scorer.pyAcceptance Criteria – Scores
API & sklearn Compatibility
(y_true, y_score)or(estimator, X, y)for sklearn scorerssklearn.model_selection.cross_val_scoreGridSearchCV/RandomizedSearchCVscoring=argument in sklearn estimatorsInput Types
numpy.ndarrayinputspandas.Seriesandpandas.DataFramey_score(positive-class probabilities)Output
random_stateX,y,y_score)Robustness
y_scoreformatsMetrics – Plots
Components Covered
roc_curve.pyprecision_recall_curve.pycalibration_curve.pyks_curve.pyAcceptance Criteria – Plots
API & Usability
y_truey_scoreory_predplt.gca())Input Compatibility
numpy.ndarraypandas.Seriesy_trueandy_scoreOutput & Testability
matplotlib.figure.Figureor(Figure, Axes)plt.show()internallyRobustness