Spec-Zone.ru › scikit-learn

BaggingRegressor

classsklearn.ensemble.BaggingRegressor(estimator=None, n_estimators=10, *, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, n_jobs=None, random_state=None, verbose=0)[source]

Регрессор с бэггингом.

Регрессор с бэггингом — это мета-оценщик ансамбля, который подбирает базовые регрессоры на случайных подмножествах исходного набора данных, а затем агрегирует их индивидуальные прогнозы (либо путем голосования, либо путем усреднения) для формирования окончательного прогноза. Такой мета-оценщик обычно может использоваться как способ уменьшения дисперсии черного ящика оценки (например, дерева решений), путем введения случайности в процедуру его построения, а затем создания ансамбля из него.

Этот алгоритм охватывает несколько работ из литературы. Когда случайные подмножества набора данных выбираются как случайные подмножества выборок, этот алгоритм известен как Pasting [1]. Если выборки извлекаются с возвращением, то метод известен как Bagging [2]. Если случайные подмножества набора данных выбираются как случайные подмножества признаков, то метод известен как Случайные подпространства [3]. Наконец, когда базовые оценки строятся на подмножествах как выборок, так и признаков, то метод называется Случайные наборы [4].

Подробнее см. в Руководстве пользователя.

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

Параметры:
estimatorобъект, по умолчанию=None

Базовая модель для подбора на случайных подмножествах набора данных. Если None, то базовой моделью является DecisionTreeRegressor.

Добавлен в версии 1.2: base_estimator было переименовано в estimator.

n_estimatorsцелое число, по умолчанию=10

Количество базовых оценок в ансамбле.

max_samplesцелое число или число с плавающей точкой, по умолчанию=1.0

Количество выборок для извлечения из X для обучения каждой базовой модели (по умолчанию с заменой, см. bootstrap для получения дополнительной информации).

  • Если целое число, то извлечь max_samples выборок.
  • Если число с плавающей точкой, то извлечь max_samples * X.shape[0] выборок.
max_featuresцелое число или число с плавающей точкой, по умолчанию=1.0

Количество признаков для извлечения из X для обучения каждой базовой модели (по умолчанию без замены, см. bootstrap_features для получения дополнительной информации).

  • Если целое число, то извлечь max_features признаков.
  • Если число с плавающей точкой, то извлечь max(1, int(max_features * n_features_in_)) признаков.
bootstrapлогическое значение, по умолчанию=True

Выборка выборок с заменой. Если False, то выборка без замены.

bootstrap_featuresлогическое значение, по умолчанию=False

Признаки выбираются с заменой.

oob_scoreлогическое значение, по умолчанию=False

Использовать ли выборки вне суммарного образца для оценки обобщающей ошибки. Доступно только если bootstrap=True.

warm_startлогическое значение, по умолчанию=False

Если установлено в True, повторно использовать решение предыдущего вызова fit и добавить больше оценок в ансамбль, в противном случае просто обучить новый ансамбль. См. Словарь.

n_jobsцелое число, по умолчанию=None

Количество задач, которые нужно запустить параллельно для fit и predict. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. См. Словарь для получения дополнительной информации.

random_stateцелое число, экземпляр RandomState или None, по умолчанию=None

Управляет случайной передискретизацией исходного набора данных (по выборкам и по признакам). Если базовая модель принимает атрибут random_state, для каждого экземпляра в ансамбле генерируется другой seed. Передайте целое число для воспроизводимого результата в нескольких вызовах функций. См. Словарь.

verboseцелое число, по умолчанию=0

Управляет подробностью вывода во время обучения и предсказания.

Атрибуты:
estimator_модель

Базовая модель, из которой вырастает ансамбль.

Добавлен в версии 1.2: base_estimator_ было переименовано в estimator_.

n_features_in_целое число

Количество признаков, увиденных во время fit.

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

feature_names_in_массив формы (n_features_in_,)

Имена признаков, увиденных во время fit. Определяются только когда X имеет имена признаков, которые являются строками.

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

estimators_список оценок

Коллекция обученных подмоделей.

estimators_samples_список массивов

Подмножество выбранных выборок для каждой базовой модели.

estimators_features_список массивов

Подмножество выбранных признаков для каждой базовой модели.

oob_score_число с плавающей точкой

Оценка на обучающем наборе данных, полученная с помощью оценки вне суммарного образца. Этот атрибут существует только когда oob_score равно True.

oob_prediction_массив формы (n_samples,)

Прогноз, вычисленный с помощью оценки вне суммарного образца на обучающем наборе. Если n_estimators невелико, возможно, что точка данных никогда не была исключена во время bootstrap. В этом случае oob_prediction_ может содержать NaN. Этот атрибут существует только когда oob_score равно True.

См. также

BaggingClassifier

Классификатор с бэггингом.

Ссылки

[1]

L. Breiman, “Pasting small votes for classification in large databases and on-line”, Machine Learning, 36(1), 85-103, 1999.

[2]

L. Breiman, “Bagging predictors”, Machine Learning, 24(2), 123-140, 1996.

[3]

T. Ho, “The random subspace method for constructing decision forests”, Pattern Analysis and Machine Intelligence, 20(8), 832-844, 1998.

[4]

G. Louppe and P. Geurts, “Ensembles on Random Patches”, Machine Learning and Knowledge Discovery in Databases, 346-361, 2012.

Примеры

>>> from sklearn.svm import SVR
>>> from sklearn.ensemble import BaggingRegressor
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_samples=100, n_features=4,
...                        n_informative=2, n_targets=1,
...                        random_state=0, shuffle=False)
>>> regr = BaggingRegressor(estimator=SVR(),
...                         n_estimators=10, random_state=0).fit(X, y)
>>> regr.predict([[0, 0, 0, 0]])
array([-2.8720...])
свойствоestimators_samples_

Подмножество выбранных выборок для каждой базовой модели.

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

Примечание: список пересоздаётся при каждом вызове свойства, чтобы уменьшить использование памяти объекта, не храня данные выборки. Таким образом, получение свойства может быть медленнее, чем ожидалось.

fit(X, y, *, sample_weight=None, **fit_params)[source]

Построение ансамбля Bagging из оценок на основе обучающего набора (X, y).

Параметры:
X{массив-подобный, разреженная матрица} формы (n_samples, n_features)

Обучающие входные образцы. Разреженные матрицы принимаются только в том случае, если они поддерживаются базовой оценкой.

yмассив-подобный формы (n_samples,)

Целевые значения (метки классов в классификации, вещественные числа в регрессии).

sample_weightмассив-подобный формы (n_samples,), по умолчанию=None

Веса образцов. Если None, то образцы имеют равные веса. Обратите внимание, что это поддерживается только в том случае, если базовая оценка поддерживает взвешивание образцов.

**fit_paramsсловарь

Параметры для передачи базовым оценкам.

Добавлен в версии 1.5: Доступно только если enable_metadata_routing=True, что может быть установлено с помощью sklearn.set_config(enable_metadata_routing=True). Подробнее см. Руководство пользователя по маршрутизации метаданных.

Возвращает:
selfобъект

Обученная оценка.

get_metadata_routing()[source]

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, обратитесь к Руководству пользователя для получения информации о том, как работает механизм маршрутизации.

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

Возвращает:
routingMetadataRouter

MetadataRouter, инкапсулирующий информацию о маршрутизации.

get_params(deep=True)[source]

Получить параметры для этой оценки.

Параметры:
deepbool, по умолчанию=True

Если True, вернет параметры для этой оценки и вложенных подобъектов, которые являются оценками.

Возвращает:
paramsсловарь

Имена параметров, сопоставленные со своими значениями.

predict(X)[source]

Предсказание целевого значения регрессии для X.

Предсказанное целевое значение регрессии входного образца вычисляется как среднее предсказанных целевых значений регрессии оценок в ансамбле.

Параметры:
X{массив-подобный, разреженная матрица} формы (n_samples, n_features)

Обучающие входные образцы. Разреженные матрицы принимаются только в том случае, если они поддерживаются базовой оценкой.

Возвращает:
yмассив NumPy формы (n_samples,)

Предсказанные значения.

score(X, y, sample_weight=None)[source]

Возвращает коэффициент детерминации предсказания.

Коэффициент детерминации \(R^2\) определяется как \((1 - \frac{u}{v})\), где \(u\) — остаточная сумма квадратов, а \(v\) — общая сумма квадратов. Лучшее возможное значение равно 1.0, оно может быть отрицательным (потому что модель может быть произвольно хуже). Модель постоянства, которая всегда предсказывает ожидаемое значение, не учитывая входные признаки, получит значение \(R^2\) равное 0.0.

Параметры:
Xмассив-подобный формы (n_samples, n_features)

Тестовые образцы. Для некоторых оценок это может быть предварительно вычисленная матрица ядер или список общих объектов вместо этого с формой (n_samples, n_samples_fitted), где n_samples_fitted — число образцов, используемых при обучении для оценки.

yмассив-подобный формы (n_samples,) или (n_samples, n_outputs)

Истинные значения для X.

sample_weightмассив-подобный формы (n_samples,), по умолчанию=None

Веса образцов.

Возвращает:
scoreчисло с плавающей точкой

\(R^2\) для self.predict(X) по отношению к y.

Примечания

Значение \(R^2\), используемое при вызове score для регрессора, использует multioutput='uniform_average' с версии 0.23 для сохранения согласованности со значением по умолчанию r2_score. Это влияет на метод score всех многовыходных регрессоров (кроме MultiOutputRegressor).

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → BaggingRegressor[source]

Запрос метаданных, переданных методу fit.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True, (см. sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов механизма маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в fit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в fit.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться мета-оценщику с заданным псевдонимом вместо оригинального имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется текущий запрос. Это позволяет изменить запрос для одних параметров, но не для других.

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

Примечание

Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в fit.

Returns:
selfobject

Обновленный объект.

set_params(**params)[source]

Установка параметров этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как Pipeline). Последние имеют параметры вида <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Parameters:
**paramsdict

Параметры оценщика.

Returns:
selfestimator instance

Экземпляр оценщика.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → BaggingRegressor[source]

Запрос метаданных, переданных методу score.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True, (см. sklearn.set_config). Пожалуйста, ознакомьтесь со Руководством пользователя для понимания принципов механизма маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в score, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в score.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны передаваться мета-оценщику с заданным псевдонимом вместо оригинального имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется текущий запрос. Это позволяет изменить запрос для одних параметров, но не для других.

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

Примечание

Этот метод актуален только если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

Returns:
selfobject

Обновленный объект.

Примеры из галереи

Разложение смещения-дисперсии: одиночный оценщик против ансамбля Bagging

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.ensemble.BaggingRegressor.html

Spec-Zone.ru

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