-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Confidence Intervals for Permutation Feature Importance #1844
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
Confidence Intervals for Permutation Feature Importance #1844
Conversation
@glebuk @TomFinley I'd appreciate a look at this if possible. I added a new class that returns descriptive statistics. What do you two think? |
docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance.cs
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
…tics package. Updated the sample to use the standard error.
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
public abstract class MetricsStatisticsBase<T>{ | ||
internal MetricsStatisticsBase() | ||
{ | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why you need this constructor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have to make this class public, but I don't want it to be inheritable outside this namespace. Is there a better way to restrict it?
docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance.cs
Outdated
Show resolved
Hide resolved
docs/samples/Microsoft.ML.Samples/Dynamic/PermutationFeatureImportance.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
src/Microsoft.ML.Transforms/PermutationFeatureImportanceExtensions.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR adds an optional confidence interval calculation to the
Permutation Feature Importance
evaluator. If the users specifies the number of permutations > 1, then the resulting evaluating metrics will contain the mean and standard deviation.Fixes #1840
Update: In this PR, I am removing PFI for clustering. It actually doesn't make sense to use clustering metrics with PFI because cluster membership can change during permutations. If we want to look at feature importance for clustering, it'll be better to use a test specific to clustering.