*class_weight='balanced'*#

sklearn.inspection.*class_weight='balanced'*(estimator, X, features, *, sample_weight=None, categorical_features=None, feature_names=None, response_method='auto', процентили=(0.05, 0.95), grid_resolution=100, custom_values=None, метод='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} формы (n_samples, n_features)

X используется для генерации сетки значений для цели features (где будет вычисляться частичная зависимость), а также для генерации значений комплементарных признаков, когда method является ‘brute’.

featuresarray-like из {int, str, bool} или int или str

Признак (например, [0]) или пары взаимодействующих признаков (например, [(0, 1)]), для которых должна быть вычислена частичная зависимость.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса выборки используются для расчета взвешенных средних при усреднении выхода модели. Если None, тогда примеры имеют равные веса. Если sample_weight не является None, затем method будет установлено в 'brute'. Обратите внимание, что sample_weight игнорируется для kind='individual'.

Добавлено в версии 1.3.

categorical_featuresмассивоподобный объект формы (n_features,) или формы (n_categorical_features,), dtype={bool, int, str}, по умолчанию=None

Указывает категориальные признаки.

  • None: ни один признак не будет считаться категориальным;

  • логический массив: логическая маска формы (n_features,)

    указывающий, какие признаки являются категориальными. Таким образом, этот массив имеет ту же форму, что и X.shape[1];

  • целочисленный или строковый массивоподобный: целочисленные индексы или строки

    указывающий категориальные признаки.

Добавлено в версии 1.2.

feature_namesarray-like формы (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.

процентиликортеж float, по умолчанию=(0.05, 0.95)

Нижний и верхний процентили, используемые для создания экстремальных значений для сетки. Должны быть в [0, 1]. Этот параметр переопределяется custom_values если этот параметр установлен.

grid_resolutionint, по умолчанию=100

Количество равноотстоящих точек на сетке для каждого целевого признака. Этот параметр переопределяется custom_values если этот параметр установлен.

custom_valuesdict

Словарь, сопоставляющий индекс элемента features в массив значений, для которых должна быть рассчитана частичная зависимость для этого признака. Установка диапазона значений для признака переопределяет grid_resolution и percentiles.

См. как использовать partial_dependence для примера того, как этот параметр может быть использован.

Добавлено в версии 1.7.

метод{'auto', 'recursion', 'brute'}, по умолчанию='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’}, по умолчанию ‘average’

Возвращать ли частичную зависимость, усредненную по всем образцам в наборе данных, или одно значение на образец, или и то, и другое. См. раздел Returns ниже.

Обратите внимание, что быстрый method='recursion' опция доступна только для kind='average' и sample_weights=None. Вычисление отдельных зависимостей и взвешенных средних требует использования более медленного method='brute'.

Добавлено в версии 0.24.

Возвращает:
предсказанияBunch

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

отдельныйndarray формы (n_outputs, n_instances, len(values[0]), len(values[1]), …)

Прогнозы для всех точек сетки для всех образцов в X. Это также известно как Индивидуальное Условное Ожидание (ICE). Доступно только когда kind='individual' или kind='both'.

среднееndarray формы (n_outputs, len(values[0]), len(values[1]), …)

Прогнозы для всех точек сетки, усреднённые по всем образцам в X (или по обучающим данным, если method является 'recursion'). Доступно только когда kind='average' или kind='both'.

grid_valuesпоследовательность одномерных 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.])])