Comments (6)
http://scikit-learn.org/stable/auto_examples/ensemble/plot_forest_importances.html
from yellowbrick.
In Scikit-Learn, it looks like most supervised methods have a coef_
or feature_importances_
method to determine the most important features.
Examples that use feature_importances_
:
- http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html
- http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
- http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
- http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html
- http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html
Examples that use coef_
:
- http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
- http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
- http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Lasso
- http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html#sklearn.linear_model.ElasticNet
- http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html
from yellowbrick.
@rebeccabilbro adding the comments I wrote on this from the paper. Also; I'd say this is a feature, not technical debt?
Generalized linear models compute a predicted independent variable via the linear combination of an array of coefficients with an array of dependent variables. GLMs are fit by modifying the coefficients so as to minimize error and regularization techniques specify how the model modifies coefficients in relation to each other. As a result, an opportunity presents itself: larger coefficients are necessarily "more informative" because they contribute a greater weight to the final prediction in most cases. Additionally we may say that instance features may also be more or less
"informative" depending on the product of the instance feature value with the feature coefficient. This creates two possibilities:
- We can compare models based on ranking of coefficients, such that a higher coefficient is "more informative".
- We can compare instances based on ranking of feature/coefficient products such that a higher product is "more informative".
In both cases, because the coefficient may be negative (indicating a strong negative correlation) we must rank features by the absolute values of their coefficients. Visualizing a model or multiple models by most informative feature is usually done via bar chart where the y-axis is the feature names and the x-axis is numeric value of the coefficient such that the x-axis has both a positive and negative quadrant. The bigger the size of the bar, the more informative that feature is.
This method may also be used for instances; but generally there are very many instances relative to the number models being compared. Instead a heatmap grid is a better choice to inspect the influence of features on individual instances. Here the grid is constructed such that the x-axis represents individual features, and the y-axis represents individual instances. The color of each cell (an instance, feature pair) represents the magnitude of the product of the instance value with the feature's coefficient for a single model. Visual inspection of this diagnostic may reveal a set of instances for which one feature is more predictive than another; or other types of regions of information in the model itself.
from yellowbrick.
@bbengfort is that a way of saying that you want to take this one?
from yellowbrick.
@rebeccabilbro just saying that I had been thinking about it and had written some notes; if you'd like to take a first crack at it - please feel free! I'm still pushing on Radviz and Paralllel coords (plus all the style and architecture stuff).
from yellowbrick.
Closed by #317
from yellowbrick.
Related Issues (20)
- Use classification visualizers directly from predictions, targets and logits? HOT 1
- [SilhouetteVisualizer] Constructor argument is_fitted is ignored during initialization HOT 1
- ConfusionMatrix visualizer error with sklearn models HOT 3
- Is there a way to hide the figure from KElbowVisualizer? HOT 3
- Let `KElbowVisualizer` use all the distance metrics supported by sklearn HOT 5
- The PredictionError can't be visualized due to the dim error HOT 2
- Adjusting markersize in `prediction_error` HOT 2
- Matplotlib warning about color usage in Datasaurus
- No figure output of the show method and produce a lot of findfont: Generic family 'sans-serif' not found warnings HOT 2
- Unable to use Silhouette Visualizer with Gaussian Mixture Model HOT 7
- Can't plot class report with trained model HOT 1
- Interactive plots - support plotly backend. HOT 4
- InterclusterDistance AttributeError: 'NoneType' object has no attribute '_get_renderer' HOT 2
- Add arguments to change PCA biplot arrow and arrow label colors and other properties HOT 1
- yellowbrics conflict with matplotlib: use_line_collection in cause!
- Classification report shows classes inverted if passed from sklearn label encoder
- CooksDistance regressor generating error
- Yellowbrick no updated since 1 year ago?! HOT 1
- Conda install fails
- DiscriminationThreshold() for catboost HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yellowbrick.