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)[source]
-
Оценка важности пермутаций для оценки признаков [BRE].
Требуется, чтобы оцениватель был обучен.
Xможет быть набором данных, используемым для обучения оценивателя, или проверочным набором. Важность пермутации признака вычисляется следующим образом. Сначала вычисляется базовая метрика, определённая параметром scoring, на (возможно, другом) наборе данных, определённом параметромX. Затем столбец признака из проверочного набора переупорядочивается, и метрика вычисляется снова. Важность пермутации определяется разницей между базовой метрикой и метрикой после переупорядочения столбца признака.Подробнее см. в Руководстве пользователя.
- Параметры:
-
- estimatorобъект
-
Оцениватель, который уже обучен и совместим с функцией оценки.
- Xndarray или DataFrame, форма (n_samples, n_features)
-
Данные, на которых будет вычисляться важность пермутации.
- yмассив или None, форма (n_samples, ) или (n_samples, n_classes)
-
Целевые значения для задач классификации или
Noneдля задач кластеризации. - scoringстрока, вызываемая функция, список, кортеж или словарь, по умолчанию=None
-
Функция оценки. Если
scoringпредставляет собой единственное значение, можно использовать:- одну строку (см. Параметр scoring: определение правил оценки модели);
- вызываемую функцию (см. Вызываемые функции оценки) возвращающую единственное значение.
Если
scoringпредставляет собой несколько значений, можно использовать:- список или кортеж уникальных строк;
- вызываемую функцию, возвращающую словарь, где ключи — имена метрик, а значения — результаты метрик;
- словарь с именами метрик в качестве ключей и вызываемыми функциями в качестве значений.
Передача нескольких метрик в
scoringболее эффективна, чем вызовpermutation_importanceдля каждой метрики, так как она использует предсказания для избежания избыточных вычислений.Если None, используется функция оценки по умолчанию оценивателя.
- n_repeatsцелое число, по умолчанию=5
-
Количество раз для переупорядочения признака.
- n_jobsцелое число или None, по умолчанию=None
-
Количество задач для параллельной обработки. Вычисления выполняются путём вычисления оценки пермутации для каждого столбца и выполняются параллельно по столбцам.
Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. См. словарь для получения дополнительной информации. - random_stateцелое число, экземпляр RandomState, по умолчанию=None
-
Генератор псевдослучайных чисел для управления перестановкой каждого признака. Передайте целое число, чтобы получить воспроизводимые результаты при вызовах функции. См. словарь.
- sample_weightмассив формы (n_samples,), по умолчанию=None
-
Веса выборок, используемые при оценке.
Добавлен в версии 0.24.
- max_samplesцелое число или вещественное число, по умолчанию=1.0
-
Количество выборок, которые нужно извлечь из X для вычисления важности признаков в каждом повторении (без возврата).
- Если целое число, то выберете
max_samplesвыборок. - Если вещественное число, то выберете
max_samples * X.shape[0]выборок. - Если
max_samplesравно1.0илиX.shape[0], будут использованы все выборки.
Использование этого параметра может привести к менее точным оценкам важности, но сохраняет метод пригодным для использования при оценке важности признаков на больших наборах данных. В сочетании с
n_repeats, это позволяет контролировать баланс между скоростью вычислений и точностью метода.Добавлен в версии 1.0.
- Если целое число, то выберете
- Возвращает:
-
-
result
Bunchили словарь таких экземпляров -
Объект наподобие словаря с атрибутами ниже.
- importances_meanмассив формы (n_features, )
-
Среднее значение важности признака по
n_repeats. - importances_stdмассив формы (n_features, )
-
Среднее отклонение от
n_repeats. - importancesмассив формы (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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.inspection.permutation_importance.html