register_assessment#

scikitplot.feature_selection.register_assessment(name, func=None, *, defaults=None, version='1', description='', validate=None, replace=False, registry=None)[source]#

Register an assessment provider; usable as a decorator.

Parameters:
namestr

Provider name used by policies.

funccallable or None, default=None

func(context, **params) -> AssessmentOutcome; omit to decorate.

defaultsmapping or None, default=None

Accepted parameters and their defaults.

versionstr, default=”1”

Provider version, recorded in every assessment.

descriptionstr, default=””

One line for list_assessment_providers.

validatecallable or None, default=None

Range check for parameters; raise PolicyError.

replacebool, default=False

Replace an existing provider of the same name.

registryAssessmentRegistry or None, default=None

Target registry; default_registry when None.

Returns:
callable

func (so the decorator form leaves it usable).

Parameters:
Return type:

Any

Examples

>>> from scikitplot.feature_selection import (
...     AssessmentRegistry,
...     register_assessment,
... )
>>> reg = AssessmentRegistry()
>>> @register_assessment("wide_range", defaults={"span": 100.0}, registry=reg)
... def wide_range(context, span):
...     s = context.stats
...     if not s.is_numeric or s.min is None:
...         return context.result("not_applicable", "not_numeric")
...     return context.result("true" if s.max - s.min >= span else "false")
>>> reg.names()
('wide_range',)