partial_dependence
- sklearn.inspection.partial_dependence(estimator, X, features, *, sample_weight=None, categorical_features=None, feature_names=None, response_method='auto', percentiles=(0.05, 0.95), grid_resolution=100, custom_values=None, method='auto', kind='average')[исходный код]
-
Частичная зависимость
features.Частичная зависимость признака (или набора признаков) соответствует среднему отклику оценщика для каждого возможного значения признака.
Подробнее см. в разделе Графики частичной зависимости и индивидуального условного ожидания и в руководстве пользователя.
Предупреждение
Для
GradientBoostingClassifierиGradientBoostingRegressorметод'recursion'(используемый по умолчанию) не учитывает предикторinitпроцесса бустинга. На практике это дает те же значения, что и'brute', с точностью до постоянного смещения целевого отклика, еслиinitявляется постоянным оценщиком (что задано по умолчанию). Однако еслиinitне является постоянным оценщиком, значения частичной зависимости для'recursion'будут некорректными, поскольку смещение будет зависеть от выборки. Предпочтительно использовать метод'brute'. Обратите внимание, что это относится только кGradientBoostingClassifierиGradientBoostingRegressor, но не кHistGradientBoostingClassifierиHistGradientBoostingRegressor.- Параметры:
-
- estimatorBaseEstimator
-
Обученный объект оценщика, реализующий predict, predict_proba или decision_function. Классификаторы с несколькими выходами и несколькими классами не поддерживаются.
- X{array-like, sparse matrix or dataframe} of shape (n_samples, n_features)
-
Xиспользуется для создания сетки значений целевогоfeatures(в которой будет вычисляться частичная зависимость), а также для создания значений признаков-комплементов, еслиmethodравно ‘brute’. - featuresarray-like of {int, str, bool} or int or str
-
Признак (например,
[0]) или пара взаимодействующих признаков (например,[(0, 1)]), для которых необходимо вычислить частичную зависимость. - sample_weightarray-like of shape (n_samples,), default=None
-
Веса объектов используются для вычисления взвешенных средних при усреднении выходных данных модели. Если
None, все объекты имеют одинаковый вес. Еслиsample_weightне равноNone, тоmethodбудет установлено в'brute'. Обратите внимание, чтоsample_weightигнорируется дляkind='individual'.Добавлено в версии 1.3.
- categorical_featuresarray-like of shape (n_features,) or shape (n_categorical_features,), dtype={bool, int, str}, default=None
-
Указывает категориальные признаки.
-
None: ни один признак не будет считаться категориальным; -
- массив, подобный массиву логических значений: логическая маска формы
(n_features,) -
указывает, какие признаки являются категориальными. Таким образом, форма этого массива совпадает с формой
X.shape[1];
- массив, подобный массиву логических значений: логическая маска формы
-
- массив целых чисел или строк: целочисленные индексы или строки
-
указывающие категориальные признаки.
Добавлено в версии 1.2.
-
- feature_namesarray-like of shape (n_features,), dtype=str, default=None
-
Название каждого признака;
feature_names[i]содержит название признака с индексомi. По умолчанию название признака соответствует его числовому индексу для массива NumPy и названию столбца для фрейма данных pandas.Добавлено в версии 1.2.
- response_method{‘auto’, ‘predict_proba’, ‘decision_function’}, default=’auto’
-
Определяет, использовать ли predict_proba или decision_function в качестве целевого отклика. Для регрессоров этот параметр игнорируется, а откликом всегда является результат работы predict. По умолчанию сначала используется predict_proba, а если он отсутствует, используется decision_function. Если
methodравно ‘recursion’, откликом всегда является результат работы decision_function. - percentilestuple of float, default=(0.05, 0.95)
-
Нижний и верхний процентили, используемые для создания крайних значений сетки. Должны находиться в диапазоне [0, 1]. Этот параметр переопределяется параметром
custom_values, если он задан. - grid_resolutionint, default=100
-
Количество равноотстоящих точек сетки для каждого целевого признака. Этот параметр переопределяется параметром
custom_values, если он задан. - custom_valuesdict
-
Словарь, сопоставляющий индекс элемента
featuresс массивом значений, для которых следует вычислить частичную зависимость этого признака. Задание диапазона значений для признака переопределяетgrid_resolutionиpercentiles.Пример использования этого параметра см. в разделе как использовать partial_dependence.
Добавлено в версии 1.7.
- method{‘auto’, ‘recursion’, ‘brute’}, default=’auto’
-
Метод, используемый для вычисления усредненных прогнозов:
-
'recursion'поддерживается только некоторыми оценщиками на основе деревьев (а именноGradientBoostingClassifier,GradientBoostingRegressor,HistGradientBoostingClassifier,HistGradientBoostingRegressor,DecisionTreeRegressor,RandomForestRegressor, ) приkind='average'. Этот метод эффективнее с точки зрения скорости. При использовании этого метода целевым откликом классификатора всегда является функция принятия решений, а не предсказанные вероятности. Поскольку метод'recursion'по своей конструкции неявно вычисляет среднее значение индивидуального условного ожидания (ICE), он несовместим с ICE, поэтомуkindдолжен быть равен'average'. -
'brute'поддерживается для любого оценщика, но требует больше вычислительных ресурсов. -
'auto': для оценщиков, поддерживающих этот метод, используется'recursion', в противном случае используется'brute'. Еслиsample_weightне равноNone, то независимо от оценщика используется'brute'.
Различия между методами
'brute'и'recursion'описаны в этом примечании. -
- kind{‘average’, ‘individual’, ‘both’}, default=’average’
-
Определяет, возвращать ли частичную зависимость, усредненную по всем объектам набора данных, одно значение для каждого объекта или оба варианта. См. раздел «Возвращаемое значение» ниже.
Обратите внимание, что быстрый вариант
method='recursion'доступен только дляkind='average'иsample_weights=None. Для вычисления индивидуальных зависимостей и взвешенных средних необходимо использовать более медленныйmethod='brute'.Добавлено в версии 0.24.
- Возвращает:
-
-
predictions
Bunch -
Объект, подобный словарю, со следующими атрибутами.
- individualndarray of shape (n_outputs, n_instances, len(values[0]), len(values[1]), …)
-
Прогнозы для всех точек сетки для всех объектов в X. Также это называется индивидуальным условным ожиданием (ICE). Доступно только при
kind='individual'илиkind='both'. - averagendarray of shape (n_outputs, len(values[0]), len(values[1]), …)
-
Прогнозы для всех точек сетки, усредненные по всем объектам в X (или по обучающим данным, если
methodравно ‘recursion’). Доступно только приkind='average'илиkind='both'. - grid_valuesseq of 1d ndarrays
-
Значения, на основе которых была создана сетка. Сгенерированная сетка представляет собой декартово произведение массивов в
grid_values, гдеlen(grid_values) == len(features). Размер каждого массиваgrid_values[j]равен меньшему изgrid_resolutionи количества уникальных значений вX[:, j].Добавлено в версии 1.3.
n_outputsсоответствует количеству классов в задаче многоклассовой классификации или количеству задач при регрессии с несколькими выходами. Для классической регрессии и бинарной классификацииn_outputs==1.n_values_feature_jсоответствует размеруgrid_values[j].
-
predictions
См. также
PartialDependenceDisplay.from_estimator-
Построение графика частичной зависимости.
PartialDependenceDisplay-
Визуализация частичной зависимости.
Примеры
>>> X = [[0, 0, 2], [1, 0, 0]] >>> y = [0, 1] >>> from sklearn.ensemble import GradientBoostingClassifier >>> gb = GradientBoostingClassifier(random_state=0).fit(X, y) >>> partial_dependence(gb, features=[0], X=X, percentiles=(0, 1), ... grid_resolution=2) (array([[-4.52, 4.52]]), [array([ 0., 1.])])
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.inspection.partial_dependence.html