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