-
-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
importance in auto_test #401
Comments
I don't think that this is a proper design. Having a single numeric value for each feature makes everything so much easier. If the model returns multiple importance values for a single feature, we might want to aggregate it (mean/max)? |
i dont think there is a simple solution. naive aggregation i fear is really not appropriate. the question is how much we want to implement here ourselves currently i guess we have to mark the leaners as "does not support importances"? and open issues in mlr3 learners to repair this? |
for reference we also discussed this for the LM |
OTOH we become super-restrictive if we completely throw these importance scores away if they do not adhere to our scheme. very unsure here what is best. |
with IML you can then calculate model-agnostic scores which really produce a number per feature? |
|
i have no idea? but a gut feeling its not ok? do you really want to implement this without being able to cite a singe paper where this is explored? or an "obvious" reason why this can make sense? |
what do you mean here exactly? |
@berndbischl We should find a solution here, this is kinda blocking. Also applies to mlr-org/mlr3learners#28 (where glmnet returns scores for every multiclass response instance). I also do not think that we should do too much automatic aggregation - remember that many people will just "trust" the defaults and might do bad things if the results are "too easy". |
why is this blocking? mark the learner as does-not-support-importance? |
If we use importance for feature filtering we need to be able to rely on strict adherence to the interface. Solution that I see:
|
we agreed that the contract is that every baselearner who supports importances needs to be able to return exactly 1 num score per features. and how this produced is up to that learner. we do not implement any aggregation unless it is clear that this is scientifically valid |
auto_test
fails if the named vector returned bylearner$importance()
contains a name which is not present intask$feature_names
. However, some learners return the variable importance for each level of a factor. As a result, the returned named vector contains names likefactor.level
. For exampleh2o::h2o.deeplearning
in mlr.Do we want to support variable importance for factor levels?
The text was updated successfully, but these errors were encountered: