Примечание
Перейти к концу для скачивания полного кода примера. Или запустить этот пример в вашем браузере через JupyterLite или Binder
Пошаговое устранение признаков
Этот пример демонстрирует, как Пошаговое устранение признаков (RFE) может использоваться для определения важности отдельных пикселей для классификации рукописных цифр. RFE рекурсивно удаляет наименее значимые признаки, присваивая им ранги на основе их важности, где более высокие ranking_ значения обозначают меньшую важность. Ранг визуализируется с помощью оттенков синего и аннотаций пикселей для большей наглядности. Как и ожидалось, пиксели, расположенные в центре изображения, как правило, более предсказуемы, чем пиксели у краев.
Примечание
См. также Пошаговое устранение признаков с перекрестной проверкой

# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import MinMaxScaler
# Load the digits dataset
digits = load_digits()
X = digits.images.reshape((len(digits.images), -1))
y = digits.target
pipe = Pipeline(
[
("scaler", MinMaxScaler()),
("rfe", RFE(estimator=LogisticRegression(), n_features_to_select=1, step=1)),
]
)
pipe.fit(X, y)
ranking = pipe.named_steps["rfe"].ranking_.reshape(digits.images[0].shape)
# Plot pixel ranking
plt.matshow(ranking, cmap=plt.cm.Blues)
# Add annotations for pixel numbers
for i in range(ranking.shape[0]):
for j in range(ranking.shape[1]):
plt.text(j, i, str(ranking[i, j]), ha="center", va="center", color="black")
plt.colorbar()
plt.title("Ranking of pixels with RFE\n(Logistic Regression)")
plt.show()
Общее время выполнения скрипта: (0 минут 2.976 секунды)
Связанные примеры
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/auto_examples/feature_selection/plot_rfe_digits.html