Spec-Zone.ru › scikit-learn

AdaBoostClassifier

classsklearn.ensemble.AdaBoostClassifier(estimator=None, *, n_estimators=50, learning_rate=1.0, random_state=None)[исходный код]

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

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

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

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

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

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

Базовый оцениватель, на основе которого строится ансамбль с бустингом. Необходима поддержка взвешивания выборок, а также соответствующие атрибуты classes_ и n_classes_. Если None, базовым оценивателем становится DecisionTreeClassifier, инициализированный с помощью max_depth=1.

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

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

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

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

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

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

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

Атрибуты:
estimator_оцениватель

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

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

estimators_список классификаторов

Набор обученных подоценивателей.

classes_ndarray формы (n_classes,)

Метки классов.

n_classes_int

Количество классов.

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.

См. также

AdaBoostRegressor

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

GradientBoostingClassifier

GB строит аддитивную модель прямым поэтапным способом. Деревья регрессии обучаются на отрицательном градиенте биномиальной или мультиномиальной функции потерь девианса. Бинарная классификация является частным случаем, в котором строится только одно дерево регрессии.

sklearn.tree.DecisionTreeClassifier

Непараметрический метод обучения с учителем, используемый для классификации. Создает модель, которая прогнозирует значение целевой переменной, изучая простые правила принятия решений, выведенные из признаков данных.

Список литературы

[1]

Y. Freund, R. Schapire, «Обобщение обучения в режиме онлайн на основе теории принятия решений и его применение к бустингу», 1995.

[2]

J. Zhu, H. Zou, S. Rosset, T. Hastie, «Многоклассовый AdaBoost». Statistics and its Interface 2.3 (2009): 349-360.

Примеры

>>> from sklearn.ensemble import AdaBoostClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=1000, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.fit(X, y)
AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.predict([[0, 0, 0, 0]])
array([1])
>>> clf.score(X, y)
0.96

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

Подробный пример использования AdaBoost для обучения на линейно неразделимом наборе данных классификации, состоящем из двух кластеров гауссовых квантилей, см. в разделе Двухклассовый AdaBoost.

decision_function(X)[исходный код]

Вычисляет функцию принятия решений для X.

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

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

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

Функция принятия решений для входных выборок. Порядок выходных значений совпадает с порядком атрибута classes_. Бинарная классификация — частный случай, в котором k == 1; в противном случае k==n_classes. Для бинарной классификации значения, близкие к -1 или 1, соответствуют большей вероятности принадлежности к первому или второму классу в classes_ соответственно.

fit(X, y, sample_weight=None)[исходный код]

Создает классификатор/регрессор с бустингом на основе обучающего набора (X, y).

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

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

yмассивоподобная структура формы (n_samples,)

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

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

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

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

Обученный оцениватель.

get_metadata_routing()[исходный код]

Вызывает NotImplementedError.

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

get_params(deep=True)[исходный код]

Получает параметры этого оценивателя.

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

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

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

Имена параметров и соответствующие им значения.

predict(X)[исходный код]

Предсказывает классы для X.

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

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

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

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

Предсказанные классы.

predict_log_proba(X)[исходный код]

Предсказывает логарифмы вероятностей классов для X.

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

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

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

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

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

predict_proba(X)[исходный код]

Предсказывает вероятности классов для X.

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

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

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

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

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

score(X, y, sample_weight=None)[исходный код]

Возвращает точность на предоставленных данных и метках.

В многометочной классификации это точность по подмножествам — строгая метрика, поскольку для каждой выборки требуется правильно предсказать весь набор меток.

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

Тестовые выборки.

yмассивоподобная структура формы (n_samples,) или (n_samples, n_outputs)

Истинные метки для X.

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

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

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

Средняя точность self.predict(X) относительно y.

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → AdaBoostClassifier[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод 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.

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

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

set_params(**params)[исходный код]

Задает параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → AdaBoostClassifier[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод 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.

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

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

staged_decision_function(X)[исходный код]

Вычисляет функцию принятия решений для X на каждой итерации бустинга.

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

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

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

Возвращает значения:
scoreгенератор ndarray формы (n_samples, k)

Функция принятия решений для входных выборок. Порядок выходных значений совпадает с порядком атрибута classes_. Бинарная классификация — частный случай, в котором k == 1; в противном случае k==n_classes. Для бинарной классификации значения, близкие к -1 или 1, соответствуют большей вероятности принадлежности к первому или второму классу в classes_ соответственно.

staged_predict(X)[исходный код]

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

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

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

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

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

Возвращает значения:
ygenerator of ndarray of shape (n_samples,)

Предсказанные классы.

staged_predict_proba(X)[исходный код]

Предсказывает вероятности классов для X.

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

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

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

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

Возвращает значения:
pgenerator of ndarray of shape (n_samples,)

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

staged_score(X, y, sample_weight=None)[исходный код]

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

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

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

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

yarray-like of shape (n_samples,)

Метки для X.

sample_weightarray-like of shape (n_samples,), default=None

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

Возвращает значения:
zfloat

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

Сравнение классификаторов

Деревья решений AdaBoost для нескольких классов

AdaBoost для двух классов

Поверхности решений ансамблей деревьев на наборе данных iris

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

Spec-Zone.ru

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