Closed
Description
I have a few (probably stupid) suggestions to get this discussion started -
- Rename
make_scorer
tomake_objective
, deprecate thegreater_is_better
/scorer
attributes and instead useloss_func
andscore_func
and document it well to note thatloss_func
is minimized whilescore_func
will be maximized. (If both are given, throw an error)
make_objective(score_func=None, loss_func=None, needs_proba=False,... **kwargs)
- In
make_objective
, when loss functions are passed toscore_func
instead ofloss_func
(score_func
is set tomean_squared_error
), directly throw an error, as we are deprecating and retaining the oldmake_scorer
till 0.20. - Replace all
_*Scorer*
by(_?)*Objective*
(_ProbabilityObjective
/_PredictionObjective
/_ThresholdedObjective
) - Replace all
scoring
attribute byobjective
attribute. objective
object returned bymake_scorer
has a boolean propertyobjective_is_minimized
objective_is_loss
to denote whether theObjective
was formed from aloss_func
(False
True
) orscore_func
(True
False
).
EDIT The objective_is_loss
is just for introspection. objective
will always return an error score which is always minimized, irrespective of whether it was formed from a loss_func
or score_func
.
- Split
cross_val_score
intocross_val_score
andcross_val_loss
. Raise deprecation warning if thescore_func
andloss_func
are interchanged til 0.20 and after that throw an error. This is probably superfluous but helps separate demarcate what we mean byloss
andscore
.
Please feel free to point out if this seems stupid.
We need to have this discussion before deciding on multiple metric grid search.
Related issue : #2439
@jnothman @amueller @ogrisel @GaelVaroquaux @MechCoder @vene @larsmans @mblondel @jaquesgrobler @agramfort @TomDLT
Metadata
Metadata
Assignees
Labels
No labels