36 lines
920 B
Python
36 lines
920 B
Python
"""
|
|
=============================
|
|
Recursive feature elimination
|
|
=============================
|
|
|
|
A recursive feature elimination example showing the relevance of pixels in
|
|
a digit classification task.
|
|
|
|
.. note::
|
|
|
|
See also :ref:`sphx_glr_auto_examples_feature_selection_plot_rfe_with_cross_validation.py`
|
|
|
|
""" # noqa: E501
|
|
|
|
from sklearn.svm import SVC
|
|
from sklearn.datasets import load_digits
|
|
from sklearn.feature_selection import RFE
|
|
import matplotlib.pyplot as plt
|
|
|
|
# Load the digits dataset
|
|
digits = load_digits()
|
|
X = digits.images.reshape((len(digits.images), -1))
|
|
y = digits.target
|
|
|
|
# Create the RFE object and rank each pixel
|
|
svc = SVC(kernel="linear", C=1)
|
|
rfe = RFE(estimator=svc, n_features_to_select=1, step=1)
|
|
rfe.fit(X, y)
|
|
ranking = rfe.ranking_.reshape(digits.images[0].shape)
|
|
|
|
# Plot pixel ranking
|
|
plt.matshow(ranking, cmap=plt.cm.Blues)
|
|
plt.colorbar()
|
|
plt.title("Ranking of pixels with RFE")
|
|
plt.show()
|