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