AdaBoostRegressor
- classsklearn.ensemble.AdaBoostRegressor(estimator=None, *, n_estimators=50, learning_rate=1.0, loss='linear', random_state=None)[исходный код]
-
Регрессор AdaBoost.
Регрессор AdaBoost [1] — это метаоценщик, который сначала обучает регрессор на исходном наборе данных, а затем обучает дополнительные копии регрессора на том же наборе данных, корректируя веса объектов в соответствии с ошибкой текущего предсказания. Таким образом, последующие регрессоры уделяют больше внимания сложным случаям.
Этот класс реализует алгоритм, известный как AdaBoost.R2 [2].
Подробнее см. в руководстве пользователя.
Добавлено в версии 0.14.
- Параметры:
-
- estimatorobject, по умолчанию=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). - loss{‘linear’, ‘square’, ‘exponential’}, по умолчанию=’linear’
-
Функция потерь, используемая для обновления весов после каждой итерации бустинга.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Управляет случайным начальным значением, задаваемым для каждого
estimatorна каждой итерации бустинга. Поэтому он используется только в том случае, еслиestimatorпредоставляетrandom_state. Кроме того, он управляет выборкой с возвращением весов, используемых для обученияestimatorна каждой итерации бустинга. Передайте int, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий.
- Атрибуты:
-
- estimator_оценщик
-
Базовый оценщик, на основе которого строится ансамбль.
Добавлено в версии 1.2:
base_estimator_переименован вestimator_. - estimators_список регрессоров
-
Набор обученных подоценщиков.
- estimator_weights_ndarray вещественных чисел
-
Веса каждого оценщика в ансамбле с бустингом.
- estimator_errors_ndarray вещественных чисел
-
Ошибка регрессии для каждого оценщика в ансамбле с бустингом.
-
feature_importances_ndarray формы (n_features,) -
Важности признаков на основе неоднородности.
- n_features_in_int
-
Количество признаков, использованных при обучении.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Имена признаков, использованных при обучении. Определяется, только если
Xсодержит имена признаков, представленные строками.Добавлено в версии 1.0.
См. также
AdaBoostClassifier-
Классификатор AdaBoost.
GradientBoostingRegressor-
Дерево классификации с градиентным бустингом.
sklearn.tree.DecisionTreeRegressor-
Регрессор на основе дерева решений.
Литература
[1]Y. Freund, R. Schapire, «Обобщение онлайн-обучения на основе теории принятия решений и применение к бустингу», 1995.
[2]- Drucker, «Улучшение регрессоров с помощью методов бустинга», 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, разреженная матрица} формы (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
-
Обученный оценщик.
- get_metadata_routing()[исходный код]
-
Вызывает
NotImplementedError.Этот оценщик пока не поддерживает маршрутизацию метаданных.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, будут возвращены параметры этого оценщика и содержащихся в нём объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- predict(X)[исходный код]
-
Предсказать значение регрессии для X.
Предсказанное значение регрессии для входной выборки вычисляется как взвешенная медиана предсказаний регрессоров в ансамбле.
- Параметры:
-
- X{array-like, разреженная матрица} формы (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\) для
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$') 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). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- 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, разреженная матрица} формы (n_samples, n_features)
-
Обучающие входные выборки.
- Генерирует:
-
- yгенератор ndarray формы (n_samples,)
-
Предсказанные значения регрессии.
- staged_score(X, y, sample_weight=None)[исходный код]
-
Возвращает поэтапные оценки для X, y.
Этот метод-генератор выдаёт оценку ансамбля после каждой итерации бустинга и тем самым позволяет выполнять мониторинг, например определять оценку для тестового набора после каждого этапа бустинга.
- Параметры:
-
- X{array-like, разреженная матрица} формы (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
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.ensemble.AdaBoostRegressor.html