Spec-Zone.ru › scikit-learn

частичная_зависимость

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];

  • массив 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.

Возвращаемое значение:
predictionsBunch

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

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].

См. также

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

Spec-Zone.ru

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