ing-bank / probatus

Validation (like Recursive Feature Elimination for SHAP) of (multiclass) classifiers & regressors and data used to develop them.
https://ing-bank.github.io/probatus
MIT License
132 stars 40 forks source link

Investigate if parts of the codebase can leverage other libraries code #245

Closed ReinierKoops closed 7 months ago

ReinierKoops commented 8 months ago

Problem Description We have some custom implementations of pretty basic functionality code which is often done better by other libraries that are already part of the required libraries to run Probatus. Maybe this would allow us to clean up more code and use more optimized functions instead.

Desired Outcome Replace functions which are better done in the respective libraries as compared to some of the custom implementations in Probatus

Solution Outline Investigate code, especially code which hasn't been updated recently. Find which functions can be replaced and do so.

ReinierKoops commented 8 months ago

@PaulZhutovsky The scoring.py allows us to define multiple scorers. This might be an interesting use-case. I am not certain yet if this is something we want to expand on or not. Maybe something to consider before thinking of replacing it with a simple sklearn implementation because that would inadvertently change it so just a single scorer.

ReinierKoops commented 7 months ago

After another investigation, the Probatus implementation seems the most elegant for getting the name of the scorer since Sklearn does not provide that functionality. It only allows us to get the names of all possible scorers, but not the name given a scorer. @PaulZhutovsky