AdaBoostClassifier#

класс sklearn.ensemble.AdaBoostClassifier(estimator=None, *, n_estimators=50, learning_rate=1.0, random_state=None)[источник]#

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

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

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

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

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

Параметры:
estimatorobject, default=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. Передайте целое число для воспроизводимого результата при множественных вызовах функции. См. Глоссарий.

Атрибуты:
estimator_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

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

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

AdaBoostRegressor

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

GradientBoostingClassifier

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

sklearn.tree.DecisionTreeClassifier

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

Ссылки

[1]

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

Примеры

>>> 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 для подбора последовательности DecisionTrees в качестве слабых обучающихся алгоритмов, пожалуйста, обратитесь к Многоклассовые деревья решений с бустингом AdaBoost.

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

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

Вычислить решающую функцию X.

Параметры:
X{array-like, sparse matrix} формы (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{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,)

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

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

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

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

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

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

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

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

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

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

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

Параметры:
X{array-like, sparse matrix} формы (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)[источник]#

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

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

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

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

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

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

sample_weightarray-like формы (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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

Параметры:
X{array-like, sparse matrix} формы (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 формы (n_samples, n_features)

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

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

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

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

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

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

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

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

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

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

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

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