ENH: add ability to handle multi-dimensional thresholds #788
+323
−33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Add the ability to handle multi-dimensional thresholds (lambdas)
predict_paramsis now an argument (even when only one-dimensional lambda) and docstring should be clearerbest_predict_paramis a tuple for multi-dimensional parameterspredict_paramsdimension)_get_predictions_per_paramhandles generalpredict_functions, but will process all parameter values sequentially (i don't know how to do it easily in parallel).get_predictions_per_paramwill check the prediction values in the calibration step (using a new argumentis_calibration_step, because I don't want to check at test time as it is not necessary and it might happen that when predicting a single probability, which can happen at test time, a value of 0 or 1 and would raise a warning)test_error_multi_dim_params_dim_mismatch)To manage the two types of predict functions in
__init__there are a few options:BinaryClassificationControllerpredict_function_generaland the user has to provide at least this or the originalpredict_function.I will go with option 4.