@classmethod
def init_cross_validator_scorer(
cls,
scoring: str | ScorerFuncType | None = None,
cv: int
| model_selection.BaseCrossValidator
| model_selection._split._RepeatedSplits
| Iterable
| Literal["RepeatedKFold", "RepeatedStratifiedKFold"]
| None = None,
n_jobs: Annotated[
int | None,
"Number of jobs to run in parallel. `-1` means using all processors.",
] = None,
) -> "Scorer":
if isinstance(cv, str) and cv in [
"RepeatedKFold",
"RepeatedStratifiedKFold",
]:
cv = initialize_object(
module=model_selection,
module_name=cv,
n_splits=3,
n_repeats=5,
random_state=0,
)
scorer = partial(
cross_validation,
scoring=scoring,
cv=cv, # type: ignore
groups=None,
n_jobs=n_jobs,
verbose=0,
params=None,
pre_dispatch=1,
error_score=0,
)
return cls(scorer)