частичная_зависимость
- 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, method='auto', kind='average')[source]
-
Частичная зависимость
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: ни один признак не будет считаться категориальным; -
- массив bool: маска bool размера
(n_features,) -
указывающая, какие признаки являются категориальными. Таким образом, этот массив имеет такой же размер, как
X.shape[1];
- массив bool: маска bool размера
-
- массив int или str: целочисленные индексы или строки
-
указывающие категориальные признаки.
Добавлен в версии 1.2.
-
- feature_namesarray-like of shape (n_features,), dtype=str, default=None
-
Имя каждого признака;
feature_names[i]содержит имя признака с индексомi. По умолчанию имя признака соответствует его числовому индексу для массивов NumPy и имени столбца для pandas dataframe.Добавлен в версии 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].
- grid_resolutionint, default=100
-
Количество равноудаленных точек на сетке для каждого целевого признака.
- 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.inspection.partial_dependence.html