Spec-Zone.ru › scikit-learn

permutation_importance

sklearn.inspection.permutation_importance(estimator, X, y, *, scoring=None, n_repeats=5, n_jobs=None, random_state=None, sample_weight=None, max_samples=1.0)[исходный код]

Перестановочная важность для оценки признаков [BRE].

Оцениватель должен быть обученным оценивателем. X может быть набором данных, использованным для обучения оценивателя, или отложенной выборкой. Перестановочная важность признака вычисляется следующим образом. Сначала на наборе данных, определённом параметром X (который может отличаться), вычисляется базовая метрика, заданная параметром scoring. Затем столбец признака из проверочной выборки перемешивается, и метрика вычисляется повторно. Перестановочная важность определяется как разность между базовой метрикой и метрикой, полученной после перемешивания столбца признака.

Подробнее см. в руководстве пользователя.

Параметры:
estimatorobject

Оцениватель, который уже был обучен и совместим с оценщиком.

Xndarray or DataFrame, shape (n_samples, n_features)

Данные, на которых будет вычислена перестановочная важность.

yarray-like or None, shape (n_samples, ) or (n_samples, n_classes)

Целевые значения для обучения с учителем или None для обучения без учителя.

scoringstr, callable, list, tuple, or dict, default=None

Используемый оценщик. Если scoring представляет одну метрику, можно использовать:

  • str: варианты см. в разделе Оценщики с именами в виде строк.
  • callable: вызываемый объект-оценщик (например, функция) с сигнатурой scorer(estimator, X, y). Подробнее см. в разделе Вызываемые оценщики.
  • None: используется критерий оценки по умолчанию для estimator.

Если scoring представляет несколько метрик, можно использовать:

  • список или кортеж уникальных строк;
  • вызываемый объект, возвращающий словарь, в котором ключи — имена метрик, а значения — оценки метрик;
  • словарь, в котором ключи — имена метрик, а значения — вызываемые объекты.

Передача нескольких метрик в scoring эффективнее, чем вызов permutation_importance для каждой метрики по отдельности, поскольку в этом случае повторно используются предсказания и исключаются избыточные вычисления.

n_repeatsint, default=5

Количество перемешиваний признака.

n_jobsint or None, default=None

Количество задач для параллельного выполнения. Вычисление выполняется путём расчёта оценки перестановки для каждого столбца и распараллеливается по столбцам. Значение None означает 1, если только не используется контекст joblib.parallel_backend. Значение -1 означает использование всех процессоров. Подробнее см. в глоссарии.

random_stateint, RandomState instance, default=None

Генератор псевдослучайных чисел для управления перестановками каждого признака. Передайте целое число, чтобы получать воспроизводимые результаты при каждом вызове функции. См. глоссарий.

sample_weightarray-like of shape (n_samples,), default=None

Веса выборок, используемые при оценивании.

Добавлено в версии 0.24.

max_samplesint or float, default=1.0

Количество выборок, извлекаемых из X для вычисления важности признаков при каждом повторе (без возвращения).

  • Если задано целое число, извлекается max_samples выборок.
  • Если задано число с плавающей точкой, извлекается max_samples * X.shape[0] выборок.
  • Если max_samples равно 1.0 или X.shape[0], будут использованы все выборки.

Хотя этот параметр может снизить точность оценок важности, он позволяет применять метод на больших наборах данных. В сочетании с n_repeats он позволяет управлять компромиссом между скоростью вычислений и статистической точностью этого метода.

Добавлено в версии 1.0.

Возвращает:
resultBunch или словарь таких экземпляров

Объект, подобный словарю, со следующими атрибутами.

importances_meanndarray of shape (n_features, )

Среднее значение важности признаков по n_repeats.

importances_stdndarray of shape (n_features, )

Стандартное отклонение по n_repeats.

importancesndarray of shape (n_features, n_repeats)

Исходные оценки перестановочной важности.

Если в параметре scoring указано несколько метрик, result представляет собой словарь, в котором ключами являются имена оценщиков (например, ‘roc_auc’), а значениями — объекты Bunch, описанные выше.

Ссылки

[BRE]

L. Breiman, «Random Forests», Machine Learning, 45(1), 5–32, 2001.

Примеры

>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.inspection import permutation_importance
>>> X = [[1, 9, 9],[1, 9, 9],[1, 9, 9],
...      [0, 9, 9],[0, 9, 9],[0, 9, 9]]
>>> y = [1, 1, 1, 0, 0, 0]
>>> clf = LogisticRegression().fit(X, y)
>>> result = permutation_importance(clf, X, y, n_repeats=10,
...                                 random_state=0)
>>> result.importances_mean
array([0.4666, 0.       , 0.       ])
>>> result.importances_std
array([0.2211, 0.       , 0.       ])

Примеры галереи

Важность признаков в ансамбле деревьев

Регрессия с градиентным бустингом

Перестановочная важность и важность признаков в случайном лесе (MDI)

Перестановочная важность при мультиколлинеарных или коррелированных признаках

Основные нововведения scikit-learn 0.22

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.inspection.permutation_importance.html

Spec-Zone.ru

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