Примечание
Перейти в конец, чтобы скачать полный код примера или запустить этот пример в браузере с помощью 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 минут 3.836 секунды)
Связанные примеры
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/auto_examples/feature_selection/plot_rfe_digits.html