sklearn.naive_bayes.MultinomialNB

class sklearn.naive_bayes.MultinomialNB

Clasificador Naive Bayes para modelos multinomiales

El clasificador multinomial de Naive Bayes es adecuado para la clasificación con características discretas (por ejemplo, recuentos de palabras para la clasificación de textos). La distribución multinomial normalmente requiere recuentos enteros de características. Sin embargo, en la práctica, los recuentos fraccionarios, como tf-idf, también pueden funcionar.

Más información en el Manual de usuario.

Parámetros
alphafloat, default=1.0

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

fit_priorbool, default=True

Si se aprenden las probabilidades a priori de la clase o no. Si es false, se utilizará una 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 empírica suavizada para cada clase.

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 MultinomialNB como un modelo lineal.

Obsoleto desde la versión 0.24: coef_ está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26).

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 MultinomialNB como un modelo lineal.

Obsoleto desde la versión 0.24: intercept_ está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26).

n_features_int

Número de características de cada muestra.

Notas

Para conocer el fundamento de los nombres coef_ e intercepto_, es decir, el Bayes ingenuo como clasificador lineal, ver J. Rennie et al. (2003), Tackling the poor assumptions of naive Bayes text classifiers, ICML.

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/naive-bayes-text-classification-1.html

Ejemplos

>>> 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 MultinomialNB
>>> clf = MultinomialNB()
>>> clf.fit(X, y)
MultinomialNB()
>>> 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 de prueba y las etiquetas 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 llamadas 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 de prueba y las etiquetas 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,) or (n_samples, n_outputs)

Etiquetas verdaderas (True) para X.

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

Ponderación de muestras.

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 usando sklearn.naive_bayes.MultinomialNB