ComplementNB#

класс sklearn.naive_bayes.ComplementNB(*, alpha=1.0, force_alpha=True, fit_prior=True, class_prior=None, norm=False)[источник]#

Дополняющий наивный байесовский классификатор, описанный в Rennie et al. (2003).

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

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

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

Параметры:
alphafloat или array-like формы (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_priorarray-like формы (n_classes,), по умолчанию=None

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

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

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

Атрибуты:
class_count_ndarray формы (n_classes,)

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

class_log_prior_ndarray формы (n_classes,)

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

classes_ndarray формы (n_classes,)

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

feature_all_ndarray формы (n_features,)

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

feature_count_ndarray формы (n_classes, n_features)

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

feature_log_prob_ndarray формы (n_classes, n_features)

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

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

BernoulliNB

Наивный байесовский классификатор для многомерных моделей Бернулли.

CategoricalNB

Наивный байесовский классификатор для категориальных признаков.

GaussianNB

Наивный байесовский классификатор Гаусса.

MultinomialNB

Наивный байесовский классификатор для мультиномиальных моделей.

Ссылки

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)[источник]#

Обучает классификатор наивного Байеса по X, y.

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

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

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

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

sample_weightarray-like формы (n_samples,), по умолчанию=None

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

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

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

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

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

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

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

partial_fit(X, y, классы=None, sample_weight=None)[источник]#

Инкрементное обучение на пакете образцов.

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

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

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

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

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

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

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

классыarray-like формы (n_classes,), по умолчанию=None

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

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

sample_weightarray-like формы (n_samples,), по умолчанию=None

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

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

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

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

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

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

Входные образцы.

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

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

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

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

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

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

Входные образцы.

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

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

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

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

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

Входные образцы.

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

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

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

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

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

Входные образцы.

Возвращает:
Carray-like формы (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$') ComplementNB[источник]#

Настроить, следует ли запрашивать передачу метаданных в 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_partial_fit_request(*, классы: bool | None | str = '$UNCHANGED$', sample_weight: bool | None | str = '$UNCHANGED$') ComplementNB[источник]#

Настроить, следует ли запрашивать передачу метаданных в partial_fit метод.

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

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

  • True: запрашиваются метаданные и передаются partial_fit если предоставлено. Запрос игнорируется, если метаданные не предоставлены.

  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в partial_fit.

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

  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.

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

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

Параметры:
классыstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') ComplementNB[источник]#

Настроить, следует ли запрашивать передачу метаданных в 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

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