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.
Примеры
>>> 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,)
-
Важности признаков.
- 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
Примеры из галереи
© 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