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.
Hey! I started this PR for catboost.Model support. If it is something that worth the effort, I would like help especially regarding the pkg design. I certainly think it's worth the effort (for lightgbm too), but my only hesitation is that neither is available on CRAN which makes them more difficult to support as a dependency (and less stable). It looks like there's a work in progress for a CRAN release of catboost, catboost/catboost#439, perhaps seeing where that is would be a good place to start.
catboost.get_feature_importance()
offersFeatureImportance
,PredictionValuesChange
,LossFunctionChange
,ShapValues
,Interaction
, andPredictionDiff
natively.PredictionValuesChange
,LossFunctionChange
,FeatureImportance
ShapValues
Interaction
(this one is still experimental and doesn't scale well to large data sets like those often used with catboost, although there's tricks in some cases, like maybe relying on catboost's SHAP-based interaction---assuming that's what they implement. This function will probably get overhauled in the next release and renamed to something more appropriate)I didn't find a
vi_shap()
example to mimic the output so I prefer call for help here. Also, should it relies exclusively uponfastshap
package or the native catboost versions is allowed? It should definitely rely on catboost's internal implementation, which would actually a separate PR in fastshap; there's an example with xgboost.ice and pdp was not touched yet. similar to vi_shap(), vi_firm() relies on the pdp package methods, but it's flexible enough that specific methods shouldn't need to be added, like for xgboost. In fact, if anything, the documentation/vignettes could use some sprucing up, which is where examples with xgboost, catboost, etc. could be given.
ps: there are some commits of workflows methods I created for another PR and now I can't get rid off this PR, I'm sorry =(. No worries!