sklearn.naive_bayes.ComplementNB

class sklearn.naive_bayes.ComplementNB

El clasificador Complemento (complement) Naive Bayes descrito en Rennie et al. (2003).

El clasificador complementario de Naive Bayes fue diseñado para corregir las «suposiciones severas» hechas por el clasificador estándar de Multinomial Naive Bayes. Es especialmente adecuado para conjuntos de datos no balanceados.

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

Nuevo en la versión 0.20.

Parámetros
alphafloat, default=1.0

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

fit_priorbooleano, default=True

Sólo se utiliza en caso límite (edge) con una sola clase en el conjunto de entrenamiento.

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

Probabilidades a priori de las clases. No se utiliza.

normbooleano, default=False

Indica si se realiza o no una segunda normalización de las ponderaciones (weights). El comportamiento predeterminado refleja las implementaciones encontradas en Mahout y Weka, que no siguen el algoritmo completo descrito en la Tabla 9 del documento.

Atributos
class_count_arreglo 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_arreglo de forma (n_classes,)

Probabilidad logarítmica empírica suavizada para cada clase. Sólo se utiliza en el caso límite (edge) con una sola clase en el conjunto de entrenamiento.

classes_arreglo 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_all_ndarray de forma (n_features,)

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

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 (weight) de la muestra cuando se proporciona.

feature_log_prob_ndarray de forma (n_classes, n_features)

Ponderaciones empíricos para los complementos de clase.

intercept_arreglo de forma (n_classes,)

Refleja class_log_prior_ para interpretar ComplementNB 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).

n_features_int

Número de características de cada muestra.

Referencias

Rennie, J. D., Shih, L., Teevan, J., & Karger, D. R. (2003). Tackling the poor assumptions of naive bayes text classifiers. En ICML (Vol. 3, pp. 616-623). https://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf

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 ComplementNB
>>> clf = ComplementNB()
>>> clf.fit(X, y)
ComplementNB()
>>> 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
deepbooleano, 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_X, 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_X, 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_X, 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_X, 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 usando sklearn.naive_bayes.ComplementNB