sklearn.naive_bayes.BernoulliNB

class sklearn.naive_bayes.BernoulliNB

Clasificador Naive Bayes para modelos Bernoulli multinomiales.

Al igual que MultinomialNB, este clasificador es adecuado para datos discretos. La diferencia es que mientras MultinomialNB trabaja con recuentos de ocurrencias, BernoulliNB está diseñado para características binarias/booleanas.

Más información en Manual de usuario.

Parámetros
alphafloat, default=1.0

Parámetro de suavizado aditivo (Laplace/Lidstone) (0 para no suavizar).

binarizefloat o None, default=0.0

Umbral para la binarización (mapeo a booleanos) de las características de la muestra. Si es None, se supone que la entrada consiste en vectores binarios.

fit_priorbool, default=True

Si se aprenden las probabilidades a priori de la clase o no. Si es false, se utilizará una distribución a priori uniforme.

class_priorarray-like de forma (n_classes,), default=None

Probabilidades a priori de las clases. Si se especifica, las probabilidades a priori no se ajustan en función de los datos.

Atributos
class_count_ndarray de forma (n_classes)

Número de muestras encontradas para cada clase durante el ajuste. Este valor es ponderado por el peso de la muestra cuando se proporciona.

class_log_prior_ndarray de forma (n_classes)

Probabilidad logarítmica de cada clase (suavizada).

classes_ndarray de forma (n_classes,)

Etiquetas de clase conocidas por el clasificador

coef_ndarray de forma (n_classes, n_features)

Refleja feature_log_prob_ para interpretar BernoulliNB como un modelo lineal.

feature_count_ndarray de forma (n_classes, n_features)

Número de muestras encontradas para cada (clase, característica) durante el ajuste. Este valor es ponderado por el ponderado de la muestra cuando se proporciona.

feature_log_prob_ndarray de forma (n_classes, n_features)

Probabilidad logarítmica empírica de las características dada una clase, P(x_i|y).

intercept_ndarray de forma (n_classes,)

Refleja class_log_prior_ para interpretar BernoulliNB como un modelo lineal.

n_features_int

Número de características de cada muestra.

Referencias

C.D. Manning, P. Raghavan and H. Schuetze (2008). Introduction to Information Retrieval. Cambridge University Press, pp. 234-265. https://nlp.stanford.edu/IR-book/html/htmledition/the-bernoulli-model-1.html

A. McCallum and K. Nigam (1998). A comparison of event models for naive Bayes text classification. Proc. AAAI/ICML-98 Workshop on Learning for Text Categorization, pp. 41-48.

V. Metsis, I. Androutsopoulos and G. Paliouras (2006). Spam filtering with naive Bayes – Which naive Bayes? 3rd Conf. on Email and Anti-Spam (CEAS).

Ejemplos

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

Métodos

fit

Ajustar el clasificador Naive Bayes según X, y

get_params

Obtiene los parámetros para este estimador.

partial_fit

Ajuste incremental en un lote de muestras.

predict

Realiza la clasificación en un arreglo de vectores de prueba X.

predict_log_proba

Devuelve estimaciones de probabilidad logarítmica para el vector de prueba X.

predict_proba

Devuelve estimaciones de probabilidad para el vector de prueba X.

score

Devuelve la precisión media en los datos y etiquetas de prueba dados.

set_params

Establece los parámetros de este estimador.

fit()

Ajustar el clasificador Naive Bayes según X, y

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Vectores de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,)

Valores objetivo.

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones aplicadas a las muestras individuales (1. para las no ponderadas).

Devuelve
selfobject
get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los sub objetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros mapeados a sus valores.

partial_fit()

Ajuste incremental en un lote de muestras.

Se espera que este método sea llamado varias veces consecutivamente en diferentes trozos de un conjunto de datos para implementar el aprendizaje fuera del núcleo o en línea.

Esto es especialmente útil cuando todo el conjunto de datos es demasiado grande para caber en la memoria de una sola vez.

Este método tiene una cierta sobrecarga de rendimiento, por lo que es mejor llamar a partial_fit en porciones de datos tan grandes como sea posible (siempre que se ajusten al presupuesto de memoria) para ocultar la sobrecarga.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Vectores de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,)

Valores objetivo.

classesarray-like de forma (n_classes), default=None

Lista de todas las clases que pueden aparecer en el vector y.

Debe proporcionarse en la primera llamada a partial_fit, puede omitirse en las invocaciones posteriores.

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones aplicadas a las muestras individuales (1. para las no ponderadas).

Devuelve
selfobject
predict()

Realiza la clasificación en un arreglo de vectores de prueba X.

Parámetros
Xarray-like de forma (n_samples, n_features)
Devuelve
Cndarray de forma (n_samples,)

Valores objetivo predichos para X

predict_log_proba()

Devuelve estimaciones de probabilidad logarítmica para el vector de prueba X.

Parámetros
Xarray-like de forma (n_samples, n_features)
Devuelve
Carray-like de forma (n_samples, n_classes)

Devuelve la probabilidad logarítmica de las muestras para cada clase del modelo. Las columnas corresponden a las clases ordenadas, tal y como aparecen en el atributo classes_.

predict_proba()

Devuelve estimaciones de probabilidad para el vector de prueba X.

Parámetros
Xarray-like de forma (n_samples, n_features)
Devuelve
Carray-like de forma (n_samples, n_classes)

Devuelve la probabilidad de las muestras para cada clase del modelo. Las columnas corresponden a las clases ordenadas, tal y como aparecen en el atributo classes_.

score()

Devuelve la precisión media en los datos y etiquetas de prueba dados.

En la clasificación multietiqueta, se trata de la precisión del subconjunto, que es una métrica rigurosa, ya que se requiere para cada muestra que cada conjunto de etiquetas sea predicho correctamente.

Parámetros
Xarray-like de forma (n_samples, n_features)

Muestras de prueba.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Etiquetas True para X.

sample_weightarray-like de forma (n_samples,), default=None

Ponderaciones de la muestra.

Devuelve
scorefloat

Precisión media de self.predict(X) con respecto a y.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto con estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia de estimador.

Ejemplos utilizando sklearn.naive_bayes.BernoulliNB