Spec-Zone.ru › scikit-learn

ComplementNB

classsklearn.naive_bayes.ComplementNB(*, alpha=1.0, force_alpha=True, fit_prior=True, class_prior=None, norm=False)[source]

Классификатор Complement Naive Bayes, описанный в Rennie et al. (2003).

Классификатор Complement Naive Bayes был разработан для исправления «серьёзных предположений», сделанных стандартным классификатором Multinomial Naive Bayes. Он особенно подходит для несбалансированных наборов данных.

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

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

Параметры:
alphafloat или массив-подобный размерностью (n_features,), по умолчанию=1.0

Параметр добавочного (Лапласа/Лидстоуна) сглаживания (установите alpha=0 и force_alpha=True для отсутствия сглаживания).

force_alphabool, по умолчанию=True

Если False и alpha меньше 1e-10, он установит alpha в 1e-10. Если True, alpha останется неизменным. Это может привести к числовым ошибкам, если alpha слишком близок к 0.

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

Изменено в версии 1.4: Значение по умолчанию для force_alpha изменено на True.

fit_priorbool, по умолчанию=True

Используется только в крайнем случае с единственным классом в наборе обучающих данных.

class_priorмассив-подобный размерностью (n_classes,), по умолчанию=None

Априорные вероятности классов. Не используется.

normbool, по умолчанию=False

Выполняется ли дополнительная нормализация весов. Поведение по умолчанию соответствует реализациям в Mahout и Weka, которые не следуют полному алгоритму, описанному в таблице 9 статьи.

Атрибуты:
class_count_массив-подобный размерностью (n_classes,)

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

class_log_prior_массив-подобный размерностью (n_classes,)

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

classes_массив-подобный размерностью (n_classes,)

Метки классов, известные классификатору

feature_all_массив-подобный размерностью (n_features,)

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

feature_count_массив-подобный размерностью (n_classes, n_features)

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

feature_log_prob_массив-подобный размерностью (n_classes, n_features)

Эмпирические веса для дополнений классов.

n_features_in_int

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

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

feature_names_in_массив-подобный размерностью (n_features_in_,)

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

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

См. также

BernoulliNB

Классификатор Naive Bayes для многомерных моделей Бернулли.

CategoricalNB

Классификатор Naive Bayes для категориальных признаков.

GaussianNB

Gaussian Naive Bayes.

MultinomialNB

Классификатор Naive Bayes для многономиальных моделей.

Ссылки

Rennie, J. D., Shih, L., Teevan, J., & Karger, D. R. (2003). Tackling the poor assumptions of naive bayes text classifiers. In ICML (Vol. 3, pp. 616-623). https://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf

Примеры

>>> import numpy as np
>>> rng = np.random.RandomState(1)
>>> X = rng.randint(5, size=(6, 100))
>>> y = np.array([1, 2, 3, 4, 5, 6])
>>> from sklearn.naive_bayes import ComplementNB
>>> clf = ComplementNB()
>>> clf.fit(X, y)
ComplementNB()
>>> print(clf.predict(X[2:3]))
[3]
fit(X, y, sample_weight=None)[source]

Обучение классификатора Naive Bayes по X, y.

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

Векторы обучения, где n_samples — количество образцов, а n_features — количество признаков.

yмассив-подобный размерностью (n_samples,)

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

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

Веса, применяемые к отдельным образцам (1. для невзвешенных).

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

Возвращает сам экземпляр.

get_metadata_routing()[source]

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, ознакомьтесь с Руководством пользователя по тому, как работает механизм маршрутизации.

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

Объект MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

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

Названия параметров, сопоставленные со своими значениями.

partial_fit(X, y, classes=None, sample_weight=None)[source]

Инкрементная подгонка на пакете выборок.

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

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

Этот метод имеет некоторую задержку производительности, поэтому лучше вызывать partial_fit на кусках данных, которые максимально велики (пока они помещаются в бюджет памяти), чтобы скрыть эту задержку.

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

Векторы обучения, где n_samples — количество выборок, а n_features — количество признаков.

yмассив формы (n_samples,)

Значения целевой переменной.

classesмассив формы (n_classes,), по умолчанию=None

Список всех классов, которые могут появиться в векторе y.

Должен быть предоставлен при первом вызове partial_fit, может быть опущен в последующих вызовах.

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

Веса, применяемые к отдельным выборкам (1. для невзвешенных).

Возвращаемое значение:
selfобъект

Возвращает сам экземпляр.

predict(X)[source]

Выполняет классификацию на массиве тестовых векторов X.

Параметры:
Xмассив формы (n_samples, n_features)

Входные выборки.

Возвращаемое значение:
Cмассив формы (n_samples,)

Предсказанные значения целевой переменной для X.

predict_joint_log_proba(X)[source]

Возвращает оценки логарифмической совместной вероятности для тестового вектора X.

Для каждой строки x из X и класса y совместная логарифмическая вероятность определяется как log P(x, y) = log P(y) + log P(x|y),, где log P(y) — вероятность априорного класса, а log P(x|y) — условная вероятность класса.

Параметры:
Xмассив формы (n_samples, n_features)

Входные выборки.

Возвращаемое значение:
Cмассив формы (n_samples, n_classes)

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

predict_log_proba(X)[source]

Возвращает оценки логарифмической вероятности для тестового вектора X.

Параметры:
Xмассив формы (n_samples, n_features)

Входные выборки.

Возвращаемое значение:
Cмассив формы (n_samples, n_classes)

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

predict_proba(X)[source]

Возвращает оценки вероятности для тестового вектора X.

Параметры:
Xмассив формы (n_samples, n_features)

Входные выборки.

Возвращаемое значение:
Cмассив формы (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$') → ComplementNB[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_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$', sample_weight:bool|None|str='$UNCHANGED$') → ComplementNB[source]

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

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

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

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

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

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

Примечание

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

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

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

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

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

Returns:
selfobject

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → ComplementNB[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

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

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

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

Классификация текстовых документов с использованием разреженных признаков

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

Spec-Zone.ru

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