Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a9b06a7

Browse files
authored
MAINT Parameters validation for sklearn.metrics.silhouette_samples (#26053)
1 parent aa63a2d commit a9b06a7

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

sklearn/metrics/cluster/_unsupervised.py

+12
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@
1414
from ...utils import check_random_state
1515
from ...utils import check_X_y
1616
from ...utils import _safe_indexing
17+
from ...utils._param_validation import (
18+
StrOptions,
19+
validate_params,
20+
)
1721
from ..pairwise import pairwise_distances_chunked
1822
from ..pairwise import pairwise_distances
23+
from ..pairwise import _VALID_METRICS
1924
from ...preprocessing import LabelEncoder
2025

2126

@@ -172,6 +177,13 @@ def _silhouette_reduce(D_chunk, start, labels, label_freqs):
172177
return intra_cluster_distances, inter_cluster_distances
173178

174179

180+
@validate_params(
181+
{
182+
"X": ["array-like", "sparse matrix"],
183+
"labels": ["array-like"],
184+
"metric": [StrOptions(set(_VALID_METRICS) | {"precomputed"}), callable],
185+
}
186+
)
175187
def silhouette_samples(X, labels, *, metric="euclidean", **kwds):
176188
"""Compute the Silhouette Coefficient for each sample.
177189

sklearn/tests/test_public_functions.py

+1
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ def _check_function_param_validation(
170170
"sklearn.metrics.classification_report",
171171
"sklearn.metrics.cluster.adjusted_mutual_info_score",
172172
"sklearn.metrics.cluster.contingency_matrix",
173+
"sklearn.metrics.cluster.silhouette_samples",
173174
"sklearn.metrics.cohen_kappa_score",
174175
"sklearn.metrics.confusion_matrix",
175176
"sklearn.metrics.coverage_error",

0 commit comments

Comments
 (0)