Call predict_quantile
by default if quantiles
is set to True
, list
or np.ndarray
#133
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.
When using
RangerForestRegressor
withquantiles=True
in a parameter optimization software (i.e.tune-sklearn
) in order to optimize probabilistic metrics like Continuous Ranked Probability Score (CRPS), it is required the model ot output the 2D tensor corresponding to thepredict_quantiles
method. However, when making CRPS a score metric with the sklearn API withmake_score
function, in a final step, it will call (always) the Ranger'spredict
method, so it is never going to predict quantiles in any way.Here is a brief example of what I am trying to explain:
I think the sklearn API is correct. To surpass this problem, I made some chages in skranger:
RangerForestRegressor
withquantiles: Union[bool, list, np.ndarray]
. Ifquantiles
receives any variable of that type, it will be in quantile mode.predict_quantile
by default when predicting.NOTE: Additional logic should be implemented if a non-quantile prediction is required and quantile mode is enabled.