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.
- Если задано целое число, извлекается
- Возвращает:
-
-
result
Bunchили словарь таких экземпляров -
Объект, подобный словарю, со следующими атрибутами.
- 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, описанные выше.
-
result
Ссылки
Примеры
>>> 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. ])
Примеры галереи
© 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