AdaBoostRegressor#

класс sklearn.ensemble.AdaBoostRegressor(estimator=None, *, n_estimators=50, learning_rate=1.0, потеря='linear', random_state=None)[источник]#

Регрессор AdaBoost.

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

Этот класс реализует алгоритм, известный как AdaBoost.R2 [2].

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

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

Параметры:
estimatorobject, default=None

Базовый оценщик, на основе которого строится бустинговый ансамбль. Если None, то базовый оценщик - это DecisionTreeRegressor инициализирован с max_depth=3.

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

n_estimatorsint, по умолчанию=50

Максимальное количество оценщиков, при котором бустинг прекращается. В случае идеального соответствия процедура обучения останавливается раньше. Значения должны быть в диапазоне [1, inf).

learning_ratefloat, по умолчанию=1.0

Вес, применяемый к каждому регрессору на каждой итерации бустинга. Более высокая скорость обучения увеличивает вклад каждого регрессора. Существует компромисс между learning_rate и n_estimators параметров. Значения должны находиться в диапазоне (0.0, inf).

потеря{‘linear’, ‘square’, ‘exponential’}, по умолчанию ‘linear’

Функция потерь для использования при обновлении весов после каждой итерации бустинга.

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

Управляет случайным начальным числом, задаваемым для каждого estimator на каждой итерации бустинга. Таким образом, он используется только когда estimator предоставляет random_state. Кроме того, он управляет бутстрапом весов, используемых для обучения estimator на каждой итерации бустинга. Передайте int для воспроизводимого вывода при множественных вызовах функции. См. Глоссарий.

Атрибуты:
estimator_estimator

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

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

estimators_список регрессоров

Коллекция обученных суб-оценщиков.

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

Веса для каждого оценщика в ансамбле бустинга.

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

Ошибка регрессии для каждого оценщика в ансамбле с бустингом.

feature_importances_ndarray формы (n_features,)

Важность признаков на основе нечистоты.

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

Смотрите также

AdaBoostClassifier

Классификатор AdaBoost.

GradientBoostingRegressor

Градиентный бустинг для классификации деревьев.

sklearn.tree.DecisionTreeRegressor

Регрессор дерева решений.

Ссылки

[1]

Y. Freund, R. Schapire, «A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting», 1995.

[2]
  1. Drucker, “Improving Regressors using Boosting Techniques”, 1997.

Примеры

>>> from sklearn.ensemble import AdaBoostRegressor
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_features=4, n_informative=2,
...                        random_state=0, shuffle=False)
>>> regr = AdaBoostRegressor(random_state=0, n_estimators=100)
>>> regr.fit(X, y)
AdaBoostRegressor(n_estimators=100, random_state=0)
>>> regr.predict([[0, 0, 0, 0]])
array([4.7972])
>>> regr.score(X, y)
0.9771

Для подробного примера использования AdaBoostRegressor для обучения последовательности решающих деревьев как слабых учеников, см. Регрессия решающего дерева с AdaBoost.

fit(X, y, sample_weight=None)[источник]#

Постройте бустированный классификатор/регрессор из тренировочного набора (X, y).

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

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

yarray-like формы (n_samples,)

Целевые значения.

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

Веса образцов. Если None, веса образцов инициализируются как 1 / n_samples.

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

Обученный оценщик.

6332()[источник]#

Вызвать NotImplementedError.

Этот оценщик пока не поддерживает маршрутизацию метаданных.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

predict(X)[источник]#

Предсказать значение регрессии для X.

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

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

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

Возвращает:
yndarray формы (n_samples,)

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

score(X, y, sample_weight=None)[источник]#

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

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

Параметры:
Xarray-like формы (n_samples, n_features)

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

yarray-like формы (n_samples,) или (n_samples, n_outputs)

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

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

Веса выборок.

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

\(R^2\) of self.predict(X) относительно y.

Примечания

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

set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') AdaBoostRegressor[источник]#

Настроить, следует ли запрашивать передачу метаданных в fit метод.

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

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

  • True: запрашиваются метаданные и передаются fit если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в fit.

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

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

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

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

Параметры:
sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_params(**params)[источник]#

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

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

Параметры:
**paramsdict

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

Возвращает:
selfэкземпляр estimator

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

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') AdaBoostRegressor[источник]#

Настроить, следует ли запрашивать передачу метаданных в score метод.

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

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

  • True: запрашиваются метаданные и передаются score если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в score.

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

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

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

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

Параметры:
sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

staged_predict(X)[источник]#

Возвращает поэтапные предсказания для X.

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

Этот метод-генератор выдаёт прогноз ансамбля после каждой итерации бустинга и поэтому позволяет мониторинг, например, определение прогноза на тестовом наборе после каждого буста.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Обучающие входные выборки.

Возвращает:
yгенератор ndarray формы (n_samples,)

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

staged_score(X, y, sample_weight=None)[источник]#

Возвращает поэтапные оценки для X, y.

Этот метод-генератор выдает оценку ансамбля после каждой итерации бустинга и, таким образом, позволяет отслеживать, например, оценку на тестовом наборе после каждого буста.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

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

yarray-like формы (n_samples,)

Метки для X.

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

Веса выборок.

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