sklearn.discriminant_analysis
.QuadraticDiscriminantAnalysis¶
- class sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis¶
Análisis Discriminante Cuadrático
Un clasificador con un límite de decisión cuadrático, generado ajustando las densidades condicionales de las clases a los datos y utilizando la regla de Bayes.
El modelo se ajusta una densidad Gaussiana a cada clase.
Nuevo en la versión 0.17: QuadraticDiscriminantAnalysis
Más información en el Manual de usuario.
- Parámetros
- priorsndarray de forma (n_classes,), default=None
A prioris de clase. Por defecto, las proporciones de clase se infieren a partir de los datos de entrenamiento.
- reg_paramfloat, default=0.0
Regulariza las estimaciones de covarianza por clase transformando S2 como
S2 = (1 - reg_param) * S2 + reg_param * np.eye(n_features)
, donde S2 corresponde al atributoscaling_
de una clase determinada.- store_covariancebool, default=False
Si es True, las matrices de covarianza de la clase se calculan explícitamente y se almacenan en el atributo
self.covariance_
.Nuevo en la versión 0.17.
- tolfloat, default=1.0e-4
Umbral absoluto para que un valor singular se considere significativo, utilizado para estimar el rango de
Xk
dondeXk
es la matriz centrada de muestras en la clase k. Este parámetro no afecta a las predicciones. Sólo controla una advertencia que se produce cuando las características se consideran colineales.Nuevo en la versión 0.17.
- Atributos
- covariance_lista de len n_classes o ndarray de forma (n_features, n_features)
Para cada clase, da la matriz de covarianza estimada utilizando las muestras de esa clase. Las estimaciones son insesgadas. Sólo está presente si
store_covariance
es True.- means_array-like de forma (n_classes, n_features)
Medios de la clase.
- priors_array-like de forma (n_classes,)
A prioris de clase (suma 1).
- rotations_lista de len n_classes o ndarray de forma (n_features, n_k)
Para cada clase k, un arreglo de forma (n_features, n_k), donde
n_k = min(n_features, número de elementos en la clase k)
Es la rotación de la distribución Gaussiana, es decir, su eje principal. Corresponde aV
, la matriz de autovectores procedente de la SVD deXk = U S Vt
dondeXk
es la matriz centrada de las muestras de la clase k.- scalings_lista de len n_classes o ndarray de forma (n_k,)
Para cada clase, contiene la escala de las distribuciones Gaussianas a lo largo de sus ejes principales, es decir, la varianza en el sistema de coordenadas rotado. Corresponde a
S^2 / (n_samples - 1)
, dondeS
es la matriz diagonal de valores singulares de la SVD deXk
, dondeXk
es la matriz centrada de muestras de la clase k.- classes_ndarray de forma (n_classes,)
Etiquetas de clase únicas.
Ver también
LinearDiscriminantAnalysis
Análisis Discriminante Lineal.
Ejemplos
>>> from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis >>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) >>> y = np.array([1, 1, 1, 2, 2, 2]) >>> clf = QuadraticDiscriminantAnalysis() >>> clf.fit(X, y) QuadraticDiscriminantAnalysis() >>> print(clf.predict([[-0.8, -1]])) [1]
Métodos
Aplica la función de decisión a un arreglo de muestras.
Ajusta el modelo según los datos de entrenamiento y los parámetros dados.
Obtiene los parámetros para este estimador.
Realiza la clasificación en un arreglo de vectores de prueba X.
Devuelve el logaritmo de las probabilidades posteriores de la clasificación.
Devuelve las probabilidades posteriores de clasificación.
Devuelve la precisión media en los datos de prueba y las etiquetas dados.
Establece los parámetros de este estimador.
- decision_function()¶
Aplica la función de decisión a un arreglo de muestras.
La función de decisión es igual (hasta un factor constante) al log-posterior del modelo, es decir,
log p(y = k | x)
. En un entorno de clasificación binaria, esto corresponde a la diferencialog p(y = 1 | x) - log p(y = 0 | x)
. Ver Formulación matemática de los clasificadores ADL y ADQ.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Arreglo de muestras (vectores de prueba).
- Devuelve
- Cndarray de forma (n_samples,) o (n_samples, n_classes)
Valores de la función de decisión relacionados con cada clase, por muestra. En el caso de dos clases, la forma (shape) es (n_samples,), lo que da la razón de verosimilitud logarítmica de la clase positiva.
- fit()¶
Ajusta el modelo según los datos de entrenamiento y los parámetros dados.
Distinto en la versión 0.19:
store_covariances
se ha movido al constructor principal (main) comostore_covariance
Distinto en la versión 0.19: ``tol* se ha movido al constructor principal.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Vector 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 (enteros)
- 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 subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- predict()¶
Realiza la clasificación en un arreglo de vectores de prueba X.
Se devuelve la clase C predicha para cada muestra en X.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
- Devuelve
- Cndarray de forma (n_samples,)
- predict_log_proba()¶
Devuelve el logaritmo de las probabilidades posteriores de la clasificación.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Arreglo de vectores de muestras/prueba.
- Devuelve
- Cndarray de forma (n_samples, n_classes)
Probabilidades logarítmicas posteriores de clasificación por clase.
- predict_proba()¶
Devuelve las probabilidades posteriores de clasificación.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Arreglo de vectores de muestras/prueba.
- Devuelve
- Cndarray de forma (n_samples, n_classes)
Probabilidades posteriores de clasificación por clase.
- 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,) 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 ay
.
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto en 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 del estimador.