diff --git a/sklearn/metrics/_classification.py b/sklearn/metrics/_classification.py index 187863e44515f..50425bb082d39 100644 --- a/sklearn/metrics/_classification.py +++ b/sklearn/metrics/_classification.py @@ -2864,6 +2864,14 @@ def log_loss( return _weighted_sum(loss, sample_weight, normalize) +@validate_params( + { + "y_true": ["array-like"], + "pred_decision": ["array-like"], + "labels": ["array-like", None], + "sample_weight": ["array-like", None], + } +) def hinge_loss(y_true, pred_decision, *, labels=None, sample_weight=None): """Average hinge loss (non-regularized). @@ -2883,11 +2891,11 @@ def hinge_loss(y_true, pred_decision, *, labels=None, sample_weight=None): Parameters ---------- - y_true : array of shape (n_samples,) + y_true : array-like of shape (n_samples,) True target, consisting of integers of two values. The positive label must be greater than the negative label. - pred_decision : array of shape (n_samples,) or (n_samples, n_classes) + pred_decision : array-like of shape (n_samples,) or (n_samples, n_classes) Predicted decisions, as output by decision_function (floats). labels : array-like, default=None diff --git a/sklearn/tests/test_public_functions.py b/sklearn/tests/test_public_functions.py index 2fa93fdfb6adf..fb18013d092a1 100644 --- a/sklearn/tests/test_public_functions.py +++ b/sklearn/tests/test_public_functions.py @@ -163,6 +163,7 @@ def _check_function_param_validation( "sklearn.metrics.fbeta_score", "sklearn.metrics.get_scorer", "sklearn.metrics.hamming_loss", + "sklearn.metrics.hinge_loss", "sklearn.metrics.jaccard_score", "sklearn.metrics.label_ranking_average_precision_score", "sklearn.metrics.label_ranking_loss",