Spec-Zone.ru › scikit-learn

AdaBoostClassifier

classsklearn.ensemble.AdaBoostClassifier(estimator=None, *, n_estimators=50, learning_rate=1.0, algorithm='deprecated', random_state=None)[source]

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

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

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

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

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

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

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

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

n_estimatorsцелое число, по умолчанию 50

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

learning_rateвещественное число, по умолчанию 1.0

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

algorithm{‘SAMME’}, по умолчанию=’SAMME’

Использовать алгоритм дискретного бустинга SAMME.

Устарело начиная с версии 1.6: algorithm устарело и будет удалено в версии 1.8. Этот оценщик реализует только алгоритм ‘SAMME’.

random_stateцелое число, экземпляр RandomState или None, по умолчанию None

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

Атрибуты:
estimator_estimator

Базовая модель, на основе которой строится ансамбль.

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

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

Коллекция обученных подмоделей.

classes_массив формы (n_classes,)

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

n_classes_целое число

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

estimator_weights_массив вещественных чисел

Веса каждого оценщика в усиленном ансамбле.

estimator_errors_массив вещественных чисел

Ошибка классификации для каждого оценщика в усиленном ансамбле.

feature_importances_массив формы (n_features,)

Важности признаков, основанные на загрязнении.

n_features_in_целое число

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

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

feature_names_in_массив формы (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.

[2]

J. Zhu, H. Zou, S. Rosset, T. Hastie, «Multi-class 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)[source]

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

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

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

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

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

propertyfeature_importances_

Важности признаков, основанные на загрязнении.

Чем больше, тем важнее признак. Важность признака вычисляется как (нормализованное) общее уменьшение критерия, принесённое этим признаком. Также известно как важность Джини.

Предупреждение: важности признаков, основанные на загрязнении, могут быть вводящими в заблуждение для признаков с высокой кардинальностью (много уникальных значений). См. sklearn.inspection.permutation_importance как альтернативу.

Возвращает:
feature_importances_массив формы (n_features,)

Важности признаков.

END_OF_DOCUMENT_MARKER
fit(X, y, sample_weight=None)[source]

Построить бустинг-классификатор/регрессор на основе обучающего набора (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()[source]

Вызвать NotImplementedError.

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

get_params(deep=True)[source]

Получить параметры этого эстиматора.

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

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

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

Имена параметров и их значения.

predict(X)[source]

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

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

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

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

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

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

predict_log_proba(X)[source]

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

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

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

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

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

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

predict_proba(X)[source]

Предсказать вероятности классов для 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)[source]

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

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

Параметры:
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[source]

Запрос метаданных, передаваемых в метод fit.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя, чтобы узнать, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в fit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их fit.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо оригинального названия.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для всех.

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

Примечание

Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в fit.

Returns:
selfobject

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

set_params(**params)[source]

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

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

Parameters:
**paramsdict

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

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → AdaBoostClassifier[source]

Запрос метаданных, передаваемых в метод score.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя, чтобы узнать, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в score, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их score.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь их предоставит.
  • str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо оригинального названия.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для всех.

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

Примечание

Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает влияния.

Parameters:
sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

Returns:
selfobject

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

staged_decision_function(X)[source]

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

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

Parameters:
X{array-like, sparse matrix} of shape (n_samples, n_features)

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

Yields:
scoreгенератор ndarray формы (n_samples, k)

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

staged_predict(X)[source]

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

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

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

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

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

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

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

staged_predict_proba(X)[source]

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

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

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

Параметры:
X{массив-подобный, разреженная матрица} формы (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)[source]

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

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

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

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

yмассив-подобный формы (n_samples,)

Метки для X.

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

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

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

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

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

Деревья решений с бустингом AdaBoost для многоклассовой задачи

Графики поверхностей решений ансамблей деревьев на наборе данных iris

Двухклассовый AdaBoost

Деревья решений с бустингом AdaBoost для многоклассовой задачи

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

Spec-Zone.ru

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