Spec-Zone.ru › scikit-learn

Примечание

Перейти в конец, чтобы скачать полный код примера или запустить этот пример в браузере с помощью JupyterLite или Binder.

Рекурсивное исключение признаков

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

Примечание

См. также Рекурсивное исключение признаков с перекрёстной проверкой

Ranking of pixels with RFE (Logistic Regression)
# 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 секунды)

Launch binder
Launch JupyterLite

Download Jupyter notebook: plot_rfe_digits.ipynb

Download Python source code: plot_rfe_digits.py

Download zipped: plot_rfe_digits.zip

Связанные примеры

Распознавание рукописных цифр

Оценка плотности ядра

Агломерация признаков

Распространение меток для цифр: демонстрация производительности

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API