CategoricalNB#

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

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

Категориальный наивный байесовский классификатор подходит для классификации с дискретными признаками, которые распределены категориально. Категории каждого признака извлекаются из категориального распределения.

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

Параметры:
alphafloat, по умолчанию=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

Следует ли изучать априорные вероятности классов. Если false, будет использоваться равномерное априорное распределение.

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

Априорные вероятности классов. Если указаны, априорные вероятности не корректируются в соответствии с данными.

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

Минимальное количество категорий на признак.

  • целое число: Устанавливает минимальное количество категорий на признак в n_categories для каждого признака.

  • array-like: форма (n_features,), где n_categories[i] содержит минимальное количество категорий для i-го столбца входных данных.

  • None (по умолчанию): Определяет количество категорий автоматически из обучающих данных.

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

Атрибуты:
category_count_список массивов формы (n_features,)

Содержит массивы формы (n_classes, n_categories of respective feature) для каждого признака. Каждый массив предоставляет количество выборок, встреченных для каждого класса и категории конкретного признака.

class_count_ndarray формы (n_classes,)

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

class_log_prior_ndarray формы (n_classes,)

Сглаженная эмпирическая логарифмическая вероятность для каждого класса.

classes_ndarray формы (n_classes,)

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

feature_log_prob_список массивов формы (n_features,)

Содержит массивы формы (n_classes, n_categories соответствующего признака) для каждого признака. Каждый массив предоставляет эмпирическую логарифмическую вероятность категорий при данном признаке и классе, P(x_i|y).

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

n_categories_ndarray формы (n_features,), dtype=np.int64

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

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

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

BernoulliNB

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

ComplementNB

Комплементарный наивный байесовский классификатор.

GaussianNB

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

MultinomialNB

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

Примеры

>>> 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 CategoricalNB
>>> clf = CategoricalNB()
>>> clf.fit(X, y)
CategoricalNB()
>>> 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 — это количество признаков. Здесь предполагается, что каждый признак X принадлежит к разному категориальному распределению. Также предполагается, что все категории каждого признака представлены числами 0, …, n - 1, где n — общее количество категорий для данного признака. Это можно, например, достичь с помощью OrdinalEncoder.

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 — это количество признаков. Здесь предполагается, что каждый признак X принадлежит к разному категориальному распределению. Также предполагается, что все категории каждого признака представлены числами 0, …, n - 1, где n — общее количество категорий для данного признака. Это можно, например, достичь с помощью OrdinalEncoder.

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

Настроить, следует ли запрашивать передачу метаданных в 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$') CategoricalNB[источник]#

Настроить, следует ли запрашивать передачу метаданных в 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$') CategoricalNB[источник]#

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

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