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, который начинает с обучения регрессора на исходном наборе данных, а затем обучает дополнительные копии регрессора на том же наборе данных, но где веса экземпляров корректируются в соответствии с ошибкой текущего прогноза.
GradientBoostingClassifierGB строит аддитивную модель поэтапно вперёд. Деревья регрессии подгоняются по отрицательному градиенту функции потерь биномиального или мультиномиального отклонения. Бинарная классификация — это частный случай, когда индуцируется только одно дерево регрессии.
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
Примеры галереи#
Многоклассовые деревья решений с бустингом AdaBoost
Построить поверхности решений ансамблей деревьев на наборе данных ирисов