sklearn.naive_bayes.CategoricalNB

class sklearn.naive_bayes.CategoricalNB

Clasificador Naive Bayes para características categóricas

El clasificador categórico de Naive Bayes es adecuado para la clasificación con características discretas que se distribuyen categóricamente. Las categorías de cada característica se extraen de una distribución categórica.

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).

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.

min_categoriesint o array-like de forma (n_features,), default=None

Número mínimo de categorías por característica.

  • entero: Establece el número mínimo de categorías por característica a n_categories para cada característica.

  • array-like: forma (n_features,) donde n_categories[i] contiene el número mínimo de categorías para la i-ésima columna de la entrada.

  • None (predeterminado): Determina el número de categorías automáticamente a partir de los datos de entrenamiento.

Nuevo en la versión 0.24.

Atributos
category_count_list de arrays de forma (n_features,)

Contiene arreglos de forma (n_classes, n_categories de la característica respectiva) para cada característica. Cada arreglo proporciona el número de muestras encontradas para cada clase y categoría de la característica específica.

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

feature_log_prob_list de arrays de forma (n_features,)

Contiene arreglos de forma (n_classes, n_categories de la característica respectiva) para cada característica. Cada arreglo proporciona la probabilidad logarítmica empírica de las categorías dada la característica y la clase respectivas, P(x_i|y).

n_features_int

Número de características de cada muestra.

n_categories_ndarray de forma (n_features,), dtype=np.int64

Número de categorías para cada característica. Este valor es inferido de los datos o es establecido por el número mínimo de categorías.

Nuevo en la versión 0.24.

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 CategoricalNB
>>> clf = CategoricalNB()
>>> clf.fit(X, y)
CategoricalNB()
>>> 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. Aquí, se supone que cada característica de X pertenece a una distribución categórica diferente. Además, se supone que todas las categorías de cada característica están representadas por los números 0, …, n - 1, donde n se refiere al número total de categorías para la característica dada. Esto puede lograrse, por ejemplo, con la ayuda de OrdinalEncoder.

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. Aquí, se supone que cada característica de X pertenece a una distribución categórica diferente. Además, se supone que todas las categorías de cada característica están representadas por los números 0, …, n - 1, donde n se refiere al número total de categorías para la característica dada. Esto puede lograrse, por ejemplo, con la ayuda de OrdinalEncoder.

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 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_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.