Spec-Zone.ru › scikit-learn

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

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

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

© 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

Spec-Zone.ru

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