Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

fitcdiscr

Ajuste clasificador de análisis discriminante

Descripción

Mdl = fitcdiscr(Tbl,ResponseVarName) Devuelve un modelo de análisis de discriminante ajustado basado en las variables de entrada (también conocidas como predictores, características o atributos) contenidas en la tabla y la salida (respuesta o etiquetas) contenidas en.TblResponseVarName

Mdl = fitcdiscr(Tbl,formula) Devuelve un modelo de análisis de discriminante ajustado basado en las variables de entrada contenidas en la tabla. es un modelo explicativo de la respuesta y un subconjunto de variables predictoras en uso para ajustarse.TblFórmulaTblMdl

Mdl = fitcdiscr(Tbl,Y) Devuelve un modelo de análisis de discriminante ajustado basado en las variables de entrada contenidas en la tabla y la respuesta.TblY

ejemplo

Mdl = fitcdiscr(X,Y) Devuelve un clasificador de análisis discriminante basado en las variables de entrada y la respuesta.XY

ejemplo

Mdl = fitcdiscr(___,Name,Value) se ajusta a un clasificador con opciones adicionales especificadas por uno o más argumentos de par nombre-valor, utilizando cualquiera de las sintaxis anteriores. Por ejemplo, puede optimizar los hiperparámetros para minimizar la pérdida de validación cruzada del modelo, o especificar el costo de clasificación errónea, las probabilidades previas para cada clase o los pesos de observación.

Ejemplos

contraer todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Entrenar un modelo de análisis discriminante utilizando todo el conjunto de datos.

Mdl = fitcdiscr(meas,species)
Mdl =    ClassificationDiscriminant              ResponseName: 'Y'     CategoricalPredictors: []                ClassNames: {'setosa'  'versicolor'  'virginica'}            ScoreTransform: 'none'           NumObservations: 150               DiscrimType: 'linear'                        Mu: [3x4 double]                    Coeffs: [3x3 struct]     Properties, Methods  

es un modelo.MdlClassificationDiscriminant Para acceder a sus propiedades, utilice la notación de puntos. Por ejemplo, mostrar los medios del grupo para cada predictor.

Mdl.Mu
ans = 3×4

    5.0060    3.4280    1.4620    0.2460
    5.9360    2.7700    4.2600    1.3260
    6.5880    2.9740    5.5520    2.0260

Predecir etiquetas para nuevas observaciones, pasar y pronosticar datos.MdlPredecir

En este ejemplo se muestra cómo optimizar los hiperparámetros automáticamente mediante.fitcdiscr El ejemplo utiliza los datos de iris de Fisher.

Cargue los datos.

load fisheriris

Encuentre hiperparámetros que minimicen la pérdida de validación cruzada de cinco veces mediante la optimización automática de hiperparámetros.

Para reproducibilidad, establezca la semilla aleatoria y utilice la función de adquisición.'expected-improvement-plus'

rng(1) Mdl = fitcdiscr(meas,species,'OptimizeHyperparameters','auto',...     'HyperparameterOptimizationOptions',...     struct('AcquisitionFunctionName','expected-improvement-plus'))

|=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |        Delta |        Gamma | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |    1 | Best   |     0.66667 |      1.4392 |     0.66667 |     0.66667 |       13.261 |      0.25218 | |    2 | Best   |        0.02 |     0.60017 |        0.02 |    0.064227 |   2.7404e-05 |     0.073264 | |    3 | Accept |        0.04 |     0.48629 |        0.02 |    0.020084 |   3.2455e-06 |      0.46974 | |    4 | Accept |     0.66667 |     0.35178 |        0.02 |    0.020118 |       14.879 |      0.98622 | |    5 | Accept |    0.046667 |     0.33663 |        0.02 |    0.019907 |   0.00031449 |      0.97362 | |    6 | Accept |        0.04 |     0.42072 |        0.02 |    0.028438 |   4.5092e-05 |      0.43616 | |    7 | Accept |    0.046667 |     0.30191 |        0.02 |    0.031424 |   2.0973e-05 |       0.9942 | |    8 | Accept |        0.02 |     0.29826 |        0.02 |    0.022424 |   1.0554e-06 |    0.0024286 | |    9 | Accept |        0.02 |     0.36543 |        0.02 |    0.021105 |   1.1232e-06 |   0.00014039 | |   10 | Accept |        0.02 |     0.21204 |        0.02 |    0.020948 |   0.00011837 |    0.0032994 | |   11 | Accept |        0.02 |     0.34539 |        0.02 |    0.020172 |   1.0292e-06 |     0.027725 | |   12 | Accept |        0.02 |     0.40889 |        0.02 |    0.020105 |   9.7792e-05 |    0.0022817 | |   13 | Accept |        0.02 |     0.57006 |        0.02 |    0.020038 |   0.00036014 |    0.0015136 | |   14 | Accept |        0.02 |      1.3129 |        0.02 |    0.019597 |   0.00021059 |    0.0044789 | |   15 | Accept |        0.02 |     0.53121 |        0.02 |    0.019461 |   1.1911e-05 |    0.0010135 | |   16 | Accept |        0.02 |     0.16368 |        0.02 |     0.01993 |    0.0017896 |   0.00071115 | |   17 | Accept |        0.02 |     0.21894 |        0.02 |    0.019551 |   0.00073745 |    0.0066899 | |   18 | Accept |        0.02 |     0.21497 |        0.02 |    0.019776 |   0.00079304 |   0.00011509 | |   19 | Accept |        0.02 |     0.26331 |        0.02 |    0.019678 |     0.007292 |    0.0007911 | |   20 | Accept |    0.046667 |     0.40103 |        0.02 |    0.019785 |    0.0074408 |      0.99945 | |=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |        Delta |        Gamma | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |   21 | Accept |        0.02 |     0.15882 |        0.02 |    0.019043 |    0.0036004 |    0.0024547 | |   22 | Accept |        0.02 |      0.1677 |        0.02 |    0.019755 |   2.5238e-05 |    0.0015542 | |   23 | Accept |        0.02 |     0.27686 |        0.02 |      0.0191 |   1.5478e-05 |    0.0026899 | |   24 | Accept |        0.02 |     0.27709 |        0.02 |    0.019081 |    0.0040557 |   0.00046815 | |   25 | Accept |        0.02 |     0.31895 |        0.02 |    0.019333 |    2.959e-05 |    0.0011358 | |   26 | Accept |        0.02 |     0.28368 |        0.02 |    0.019369 |   2.3111e-06 |    0.0029205 | |   27 | Accept |        0.02 |     0.25151 |        0.02 |    0.019455 |   3.8898e-05 |    0.0011665 | |   28 | Accept |        0.02 |      0.2138 |        0.02 |    0.019449 |    0.0035925 |    0.0020278 | |   29 | Accept |     0.66667 |     0.29074 |        0.02 |    0.019479 |       998.93 |     0.064276 | |   30 | Accept |        0.02 |     0.21574 |        0.02 |     0.01947 |   8.1557e-06 |    0.0008004 |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 111.0342 seconds. Total objective function evaluation time: 11.6977  Best observed feasible point:       Delta        Gamma       __________    ________      2.7404e-05    0.073264  Observed objective function value = 0.02 Estimated objective function value = 0.01947 Function evaluation time = 0.60017  Best estimated feasible point (according to models):       Delta         Gamma       __________    _________      2.5238e-05    0.0015542  Estimated objective function value = 0.01947 Estimated function evaluation time = 0.33161 
Mdl =    ClassificationDiscriminant                          ResponseName: 'Y'                 CategoricalPredictors: []                            ClassNames: {'setosa'  'versicolor'  'virginica'}                        ScoreTransform: 'none'                       NumObservations: 150     HyperparameterOptimizationResults: [1x1 BayesianOptimization]                           DiscrimType: 'linear'                                    Mu: [3x4 double]                                Coeffs: [3x3 struct]     Properties, Methods  

El ajuste logró aproximadamente un 2% de pérdida para la validación cruzada por defecto de 5 veces.

En este ejemplo se muestra cómo optimizar los hiperparámetros de un modelo de análisis discriminante automáticamente mediante una matriz alta. El conjunto de datos de ejemplo es un conjunto de datos de gran tamaño que contiene un archivo tabular de datos de vuelo de la aerolínea.airlinesmall.csv En este ejemplo se crea una tabla alta que contiene los datos y se utiliza para ejecutar el procedimiento de optimización.

Cree un almacén de datos que hace referencia a la ubicación de la carpeta con los datos. Seleccione un subconjunto de las variables con las que trabajar y trate los valores como datos faltantes para que los reemplace por valores.'NA'datastoreNaN Cree una tabla alta que contenga los datos en el almacén.

ds = datastore('airlinesmall.csv'); ds.SelectedVariableNames = {'Month','DayofMonth','DayOfWeek',...                             'DepTime','ArrDelay','Distance','DepDelay'}; ds.TreatAsMissing = 'NA'; tt  = tall(ds) % Tall table
tt =    M×7 tall table      Month    DayofMonth    DayOfWeek    DepTime    ArrDelay    Distance    DepDelay     _____    __________    _________    _______    ________    ________    ________       10          21            3          642          8         308          12         10          26            1         1021          8         296           1         10          23            5         2055         21         480          20         10          23            5         1332         13         296          12         10          22            4          629          4         373          -1         10          28            3         1446         59         308          63         10           8            4          928          3         447          -2         10          10            6          859         11         954          -1          :          :             :           :          :           :           :       :          :             :           :          :           :           : 

Al ejecutar cálculos en matrices altas, el entorno de ejecución predeterminado utiliza la sesión de MATLAB local o un grupo paralelo local (si tiene Parallel Computing Toolbox™). Puede utilizar la función para cambiar el entorno de ejecución.mapreducer

Determine los vuelos que se retrasan 10 minutos o más definiendo una variable lógica que es verdadera para un vuelo tardío. Esta variable contiene las etiquetas de clase. Una vista previa de esta variable incluye las primeras filas.

Y = tt.DepDelay > 10 % Class labels
Y =    M×1 tall logical array     1    0    1    1    0    1    0    0    :    : 

Cree una matriz alta para los Datos predictores.

X = tt{:,1:end-1} % Predictor data
X =    M×6 tall double matrix    Columns 1 through 5            10          21           3         642           8           10          26           1        1021           8           10          23           5        2055          21           10          23           5        1332          13           10          22           4         629           4           10          28           3        1446          59           10           8           4         928           3           10          10           6         859          11           :           :            :          :           :           :           :            :          :           :    Column 6           308          296          480          296          373          308          447          954           :           : 

Eliminar filas y que contengan datos faltantes.XY

R = rmmissing([X Y]); % Data with missing entries removed X = R(:,1:end-1);  Y = R(:,end); 

Estandarizar las variables predictoras.

Z = zscore(X);

Optimice los hiperparámetros automáticamente mediante el argumento de par nombre-valor.'OptimizeHyperparameters' Busque el valor óptimo que minimiza la pérdida de validación cruzada de exclusión.'DiscrimType' (Especificación de usos.)'auto''DiscrimType' Para reproducibilidad, utilice la función de adquisición y establezca las semillas de los generadores de números aleatorios utilizando y.'expected-improvement-plus'rngtallrng Los resultados pueden variar en función del número de trabajadores y del entorno de ejecución de los arrays altos. Para obtener más información, consulte.Controle dónde se ejecuta el código (MATLAB)

rng('default')  tallrng('default') [Mdl,FitInfo,HyperparameterOptimizationResults] = fitcdiscr(Z,Y,...     'OptimizeHyperparameters','auto',...     'HyperparameterOptimizationOptions',struct('Holdout',0.3,...     'AcquisitionFunctionName','expected-improvement-plus'))

Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 2: Completed in 1.2 sec - Pass 2 of 2: Completed in 2.9 sec Evaluation completed in 5.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.3 sec |======================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  DiscrimType | |      | result |             | runtime     | (observed)  | (estim.)    |              | |======================================================================================| |    1 | Best   |     0.11354 |      13.025 |     0.11354 |     0.11354 |    quadratic | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |    2 | Accept |     0.11354 |      8.9294 |     0.11354 |     0.11354 | pseudoQuadra | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 2.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |    3 | Accept |     0.12869 |      9.0278 |     0.11354 |     0.11859 | pseudoLinear | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    4 | Accept |     0.12745 |       9.718 |     0.11354 |      0.1208 |   diagLinear | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |    5 | Accept |     0.12869 |      9.4755 |     0.11354 |     0.12238 |       linear | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |    6 | Best   |     0.11301 |      9.0462 |     0.11301 |     0.12082 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 2.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    7 | Accept |     0.11301 |      8.6959 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    8 | Accept |     0.11301 |      9.2616 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 2.3 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |    9 | Accept |     0.11301 |      8.6907 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   10 | Accept |     0.11301 |      9.3004 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |   11 | Accept |     0.11301 |      8.8961 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   12 | Accept |     0.11301 |      9.1222 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   13 | Accept |     0.11301 |      9.2164 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   14 | Accept |     0.11301 |      9.2715 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.3 sec Evaluation completed in 1.4 sec |   15 | Accept |     0.11301 |      8.8737 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 2.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   16 | Accept |     0.11301 |      8.7873 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |   17 | Accept |     0.11301 |      8.6403 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   18 | Accept |     0.11301 |      9.2828 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   19 | Accept |     0.11301 |      9.2442 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   20 | Accept |     0.11301 |      9.3528 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |======================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  DiscrimType | |      | result |             | runtime     | (observed)  | (estim.)    |              | |======================================================================================| |   21 | Accept |     0.11301 |      9.4836 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.9 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   22 | Accept |     0.11301 |      9.2958 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   23 | Accept |     0.11301 |      8.9416 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   24 | Accept |     0.11354 |      9.0714 |     0.11301 |     0.11301 | pseudoQuadra | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   25 | Accept |     0.11301 |      9.2182 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 2.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.4 sec |   26 | Accept |     0.11301 |      8.0149 |     0.11301 |     0.11301 | diagQuadrati | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 2.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   27 | Accept |     0.11354 |      8.6475 |     0.11301 |     0.11301 |    quadratic | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.7 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   28 | Accept |     0.11354 |      9.2114 |     0.11301 |     0.11301 |    quadratic | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.8 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   29 | Accept |     0.12869 |      9.5296 |     0.11301 |     0.11301 | pseudoLinear | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2.6 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   30 | Accept |     0.11301 |      8.9192 |     0.11301 |     0.11301 | diagQuadrati |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 313.4344 seconds. Total objective function evaluation time: 276.1909  Best observed feasible point:      DiscrimType      _____________      diagQuadratic  Observed objective function value = 0.11301 Estimated objective function value = 0.11301 Function evaluation time = 9.0462  Best estimated feasible point (according to models):      DiscrimType      _____________      diagQuadratic  Estimated objective function value = 0.11301 Estimated function evaluation time = 9.0901  Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 2 sec 
Mdl =    classreg.learning.classif.CompactClassificationDiscriminant            PredictorNames: {'x1'  'x2'  'x3'  'x4'  'x5'  'x6'}              ResponseName: 'Y'     CategoricalPredictors: []                ClassNames: [0 1]            ScoreTransform: 'none'               DiscrimType: 'diagQuadratic'                        Mu: [2×6 double]                    Coeffs: [2×2 struct]     Properties, Methods  
FitInfo = struct with no fields.
HyperparameterOptimizationResults =    BayesianOptimization with properties:                        ObjectiveFcn: @createObjFcn/tallObjFcn               VariableDescriptions: [1×1 optimizableVariable]                            Options: [1×1 struct]                       MinObjective: 0.1130                    XAtMinObjective: [1×1 table]              MinEstimatedObjective: 0.1130           XAtMinEstimatedObjective: [1×1 table]            NumObjectiveEvaluations: 30                   TotalElapsedTime: 313.4344                          NextPoint: [1×1 table]                             XTrace: [30×1 table]                     ObjectiveTrace: [30×1 double]                   ConstraintsTrace: []                      UserDataTrace: {30×1 cell}       ObjectiveEvaluationTimeTrace: [30×1 double]                 IterationTimeTrace: [30×1 double]                         ErrorTrace: [30×1 double]                   FeasibilityTrace: [30×1 logical]        FeasibilityProbabilityTrace: [30×1 double]                IndexOfMinimumTrace: [30×1 double]              ObjectiveMinimumTrace: [30×1 double]     EstimatedObjectiveMinimumTrace: [30×1 double]  

Argumentos de entrada

contraer todo

Datos de ejemplo utilizados para entrenar el modelo, especificado como una tabla. Cada fila de corresponde a una observación, y cada columna corresponde a una variable predictora.Tbl Opcionalmente, puede contener una columna adicional para la variable de respuesta.Tbl No se permiten las variables de varias columnas ni matrices de celdas que no sean matrices de celdas de vectores de caracteres.

Si contiene la variable de respuesta y desea utilizar todas las variables restantes como predictores, especifique la variable de respuesta mediante.TblTblResponseVarName

Si contiene la variable de respuesta y desea usar solo un subconjunto de las variables restantes como predictores, especifique una fórmula mediante.TblTblFórmula

Si no contiene la variable de respuesta, especifique una variable de respuesta mediante.TblY La longitud de la variable de respuesta y el número de filas en debe ser igual.Tbl

Tipos de datos: table

Nombre de variable de respuesta, especificado como el nombre de una variable en.Tbl

Debe especificar como un vector de caracteres o un escalar de cadena.ResponseVarName Por ejemplo, si la variable de respuesta se almacena como, a continuación, especifíquese como.YTbl.Y'Y' De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.TblY

La variable de respuesta debe ser una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. Si es una matriz de caracteres, cada elemento de la variable de respuesta debe corresponder a una fila de la matriz.Y

Es una buena práctica para especificar el orden de las clases mediante el argumento de par nombre-valor.ClassNames

Tipos de datos: char | string

Modelo explicativo de la respuesta y un subconjunto de las variables predictoras, especificadas como un vector de caracteres o un escalar de cadena en el formulario.'Y~X1+X2+X3' En este formulario, representa la variable de respuesta y, y representa las variables predictoras.YX1X2X3 Las variables deben ser nombres de variable en ().TblTbl.Properties.VariableNames

Para especificar un subconjunto de variables como predictores para entrenar el modelo, utilice una fórmula.Tbl Si especifica una fórmula, el software no utiliza ninguna variable en la que no aparezcan.TblFórmula

Tipos de datos: char | string

Etiquetas de clase, especificadas como una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. Cada fila de representa la clasificación de la fila correspondiente de.YX

El software considera, (vector de carácter vacío), (cadena vacía), y los valores en que faltan valores.NaN''""<missing><undefined>Y Por lo tanto, el software no entrena utilizando observaciones con una respuesta faltante.

Tipos de datos: categorical | char | string | logical | single | double | cell

Valores predictores, especificados como una matriz numérica. Cada columna de representa una variable, y cada fila representa una observación.X

considera los valores como valores faltantes. no utiliza observaciones con valores faltantes para el ajuste.fitcdiscrNaNXfitcdiscrX

Tipos de datos: single | double

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: especifica un clasificador de discriminante cuadrático y no almacena la matriz de covarianza en el objeto de salida.'DiscrimType','quadratic','SaveMemory','on'

Nota

No puede usar ningún argumento de par nombre-valor de validación cruzada junto con el argumento de par nombre-valor.'OptimizeHyperparameters' Solo puede modificar la validación cruzada mediante el argumento de par nombre-valor.'OptimizeHyperparameters''HyperparameterOptimizationOptions'

Parámetros del modelo

contraer todo

Nombres de las clases que se usarán para el entrenamiento, especificadas como el par separado por comas que consta de una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. debe tener el mismo tipo de datos que.'ClassNames'ClassNamesY

Si es una matriz de caracteres, cada elemento debe corresponder a uno de la matriz.ClassNamesrow

Utilizar para:ClassNames

  • Ordene las clases durante el entrenamiento.

  • Especifique el orden de cualquier dimensión de argumento de entrada o de salida que corresponda al orden de la clase. Por ejemplo, se utiliza para especificar el orden de las dimensiones o el orden de columnas de las puntuaciones de clasificación devueltas por.ClassNamesCostoPredecir

  • Seleccione un subconjunto de clases para el entrenamiento. Por ejemplo, supongamos que el conjunto de todos los nombres de clase distintos en es.Y{'a','b','c'} Para entrenar el modelo utilizando observaciones de clases y sólo, especifique.'a''c''ClassNames',{'a','c'}

El valor predeterminado para es el conjunto de todos los nombres de clase distintos en.ClassNamesY

Ejemplo: 'ClassNames',{'b','g'}

Tipos de datos: categorical | char | string | logical | single | double | cell

Coste de clasificación errónea de un punto, especificado como el par separado por comas que consta de uno de los siguientes:'Cost'

  • Matriz cuadrada, donde es el costo de clasificar un punto en la clase si su clase verdadera es (es decir, las filas corresponden a la clase verdadera y las columnas corresponden a la clase pronosticada).Cost(i,j)ji Para especificar el orden de la clase de las filas y columnas correspondientes, especifique además el argumento de par nombre-valor.CostoClassNames

  • Estructura que tiene dos campos: que contiene los nombres de grupo como una variable del mismo tipo que, y que contiene la matriz de costes.SS.ClassNamesYS.ClassificationCosts

El valor predeterminado es if y if.Cost(i,j)=1i~=jCost(i,j)=0i=j

Tipos de datos: single | double | struct

marca de propiedad, especificada como el par separado por comas que consta de y o.Coeffs'FillCoeffs''on''off' Establecer la marca para rellenar la propiedad en el objeto clasificador.'on'Coeffs Esto puede ser computacionalmente intensivo, especialmente cuando la validación cruzada. El valor predeterminado es, a menos que especifique un par nombre-valor de validación cruzada, en cuyo caso el indicador se establece en de forma predeterminada.'on''off'

Ejemplo: 'FillCoeffs','off'

Los nombres de variables predictoras, especificados como el par separado por comas que consta de y una matriz de cadenas de nombres únicos o matriz de celdas de vectores de caracteres únicos.'PredictorNames' La funcionalidad de depende de la forma en que proporcione los datos de entrenamiento.'PredictorNames'

  • Si se suministra y, a continuación, se puede utilizar para dar las variables predictoras en los nombres.XY'PredictorNames'X

    • El orden de los nombres en debe corresponder al orden de las columnas de.PredictorNamesX Es decir, es el nombre de, es el nombre de, y así sucesivamente.PredictorNames{1}X(:,1)PredictorNames{2}X(:,2) También, y debe ser igual.size(X,2)numel(PredictorNames)

    • De forma predeterminada, es.PredictorNames{'x1','x2',...}

  • Si usted suministra, entonces usted puede utilizar para elegir qué variables predictoras a utilizar en el entrenamiento.Tbl'PredictorNames' Es decir fitcdiscr utiliza únicamente las variables predictoras y la variable de respuesta en el entrenamiento.PredictorNames

    • debe ser un subconjunto de y no puede incluir el nombre de la variable de respuesta.PredictorNamesTbl.Properties.VariableNames

    • De forma predeterminada, contiene los nombres de todas las variables predictoras.PredictorNames

    • Es una buena práctica para especificar los predictores para el entrenamiento utilizando cualquiera o sólo.'PredictorNames'Fórmula

Ejemplo: 'PredictorNames',{'SepalLength','SepalWidth','PetalLength','PetalWidth'}

Tipos de datos: string | cell

Probabilidades previas para cada clase, especificadas como el par separado por comas que consta de y un valor en esta tabla.'Prior'

ValorDescripción
'empirical'Las probabilidades previas de clase son las frecuencias de clase relativas.Y
'uniform'Todas las probabilidades previas de clase son iguales a 1/, donde está el número de clases.KK
Vector numéricoCada elemento es una clase de probabilidad previa. Ordene los elementos según o especifique el orden mediante el argumento de par nombre-valor.Mdl.ClassNamesClassNames El software normaliza los elementos que suman.1
Estructura

Una estructura con dos campos:S

  • contiene los nombres de clase como una variable del mismo tipo que.S.ClassNamesY

  • contiene un vector de las probabilidades previas correspondientes.S.ClassProbs El software normaliza los elementos que suman.1

Si establece valores para ambos y, las ponderaciones se renormalizan para sumar el valor de la probabilidad anterior en la clase respectiva.WeightsPrior

Ejemplo: 'Prior','uniform'

Tipos de datos: char | string | single | double | struct

Nombre de variable de respuesta, especificado como el par separado por comas que consta de un vector de caracteres o un escalar de cadena.'ResponseName'

  • Si proporciona, puede usar para especificar un nombre para la variable de respuesta.Y'ResponseName'

  • Si usted suministra o, entonces usted no puede utilizar.ResponseVarNameFórmula'ResponseName'

Ejemplo: 'ResponseName','response'

Tipos de datos: char | string

Marca para guardar la matriz de covarianza, especificada como el par separado por comas que consta de y cualquiera o.'SaveMemory''on''off' Si especifica, no almacena la matriz de covarianza completa, sino que almacena suficiente información para calcular la matriz.'on'fitcdiscr el predict método calcula la matriz de covarianza completa para la predicción y no almacena la matriz. Si especifica, a continuación, calcula y almacena la matriz de covarianza completa en.'off'fitcdiscrMdl

Especifique como cuando la matriz de entrada contiene miles de predictores.SaveMemory'on'

Ejemplo: 'SaveMemory','on'

Transformación de puntuación, especificada como el par separado por comas que consta de un vector de caracteres, un escalar de cadena o un identificador de función.'ScoreTransform'

Esta tabla resume los vectores de caracteres disponibles y los escalares de cadena.

ValorDescripción
'doublelogit'1/(1 +e–2x)
'invlogit'log (/(1 –))xx
'ismax'Establece la puntuación de la clase con la puntuación más grande y establece las puntuaciones de todas las demás clases para10
'logit'1/(1 +ex)
O'none''identity'(sin transformación)x
'sign'– 1 para < 0 0 para = 0 1 para > 0x
x
x
'symmetric'2 – 1x
'symmetricismax'Establece la puntuación de la clase con la puntuación más grande y establece las puntuaciones de todas las demás clases para1–1
'symmetriclogit'2/(1 +ex) – 1

Para una función o una función que defina, utilice su identificador de función para la transformación de puntuación.MATLAB® El identificador de función debe aceptar una matriz (las puntuaciones originales) y devolver una matriz del mismo tamaño (las puntuaciones transformadas).

Ejemplo: 'ScoreTransform','logit'

Tipos de datos: char | string | function_handle

Ponderaciones de observación, especificadas como el par separado por comas que consta de un vector numérico de valores positivos o el nombre de una variable en.'Weights'Tbl El software pesa las observaciones en cada fila o con el valor correspondiente en.XTblWeights El tamaño de debe ser igual al número de filas de o.WeightsXTbl

Si especifica los datos de entrada como una tabla, puede ser el nombre de una variable que contenga un vector numérico.TblWeightsTbl En este caso, debe especificar como un vector de caracteres o un escalar de cadena.Weights Por ejemplo, si el vector de ponderaciones se almacena como, a continuación, especifíquese como.WTbl.W'W' De lo contrario, el software trata todas las columnas de, incluidos, como predictores o la respuesta al entrenar el modelo.TblW

El software normaliza para resumir hasta el valor de la probabilidad anterior en la clase respectiva.Weights

De forma predeterminada, esWeights ones(n,1)Dónde n es el número de observaciones en o.XTbl

Tipos de datos: double | single | char | string

Validación cruzada

contraer todo

Indicador de validación cruzada, especificado como el par separado por comas que consta de y o.'Crossval''on''off'

Si se especifica, el software implementa la validación cruzada de 10 veces.'on'

Para invalidar esta configuración de validación cruzada, use uno de estos argumentos de par nombre-valor:,, o.CVPartitionHoldoutKFoldLeaveout Para crear un modelo validado de forma cruzada, puede usar un argumento de par nombre-valor de validación cruzada a la vez.

Alternativamente, valide de forma cruzada más adelante pasando aMdl crossval.

Ejemplo: 'CrossVal','on'

Partición de validación cruzada, especificada como el par separado por comas que consta de un objeto de partición creado por.'CVPartition'cvpartitioncvpartition El objeto de partición especifica el tipo de validación cruzada y la indización para los conjuntos de entrenamiento y validación.

Para crear un modelo con validación cruzada, puede usar uno de estos cuatro argumentos de par nombre-valor solamente:,,, o.CVPartitionHoldoutKFoldLeaveout

Ejemplo: Supongamos que crea una partición aleatoria para la validación cruzada de 5 veces en 500 observaciones mediante el uso de.cvp = cvpartition(500,'KFold',5) A continuación, puede especificar el modelo con validación cruzada mediante.'CVPartition',cvp

Fracción de los datos utilizados para la validación de exclusión, especificado como el par separado por comas que consta de y un valor escalar en el intervalo (0,1).'Holdout' Si usted especifica, después el software completa estos pasos:'Holdout',p

  1. Seleccione aleatoriamente y Reserve% de los datos como datos de validación y capacite al modelo con el resto de los datos.p*100

  2. Almacene el modelo compacto y entrenado en la propiedad del modelo con validación cruzada.Trained

Para crear un modelo con validación cruzada, puede usar uno de estos cuatro argumentos de par nombre-valor solamente:,,, o.CVPartitionHoldoutKFoldLeaveout

Ejemplo: 'Holdout',0.1

Tipos de datos: double | single

Número de pliegues que se utilizarán en un modelo con validación cruzada, especificado como el par separado por comas y que consta de un valor entero positivo mayor que 1.'KFold' Si usted especifica, después el software completa estos pasos:'KFold',k

  1. Particionar aleatoriamente los datos en sets.k

  2. Para cada conjunto, Reserve el conjunto como datos de validación y entrene el modelo utilizando el otro k – 1 Establece.

  3. Almacene los modelos compactos y entrenados en las celdas de un vector de celda a-por-1 en la propiedad del modelo validado de forma cruzada.kkTrained

Para crear un modelo con validación cruzada, puede usar uno de estos cuatro argumentos de par nombre-valor solamente:,,, o.CVPartitionHoldoutKFoldLeaveout

Ejemplo: 'KFold',5

Tipos de datos: single | double

Marca de validación cruzada de Leave-One-out, especificada como el par separado por comas que consta de y o.'Leaveout''on''off' Si especifica, a continuación, para cada una de las observaciones (donde está el número de observaciones excluyendo las observaciones faltantes, especificadas en la propiedad del modelo), el software completa estos pasos:'Leaveout','on'nnNumObservations

  1. Reservar la observación como datos de validación, y entrenar el modelo utilizando el otro – 1 observaciones.n

  2. Almacene los modelos compactos y entrenados en las celdas de un vector de celda-por-1 en la propiedad del modelo validado de forma cruzada.nnTrained

Para crear un modelo con validación cruzada, puede usar uno de estos cuatro argumentos de par nombre-valor solamente:,,, o.CVPartitionHoldoutKFoldLeaveout

Ejemplo: 'Leaveout','on'

La optimización de hiperparámetros

contraer todo

Umbral de coeficiente lineal, especificado como el par separado por comas que consta de un valor escalar no negativo.'Delta' Si un coeficiente de magnitud tiene menor que, establece este coeficiente en, y se puede eliminar el predictor correspondiente del modelo.MdlDeltaMdl0 Se establece en un valor más alto para eliminar más predictores.Delta

debe ser para modelos discriminantes cuadráticos.Delta0

Tipos de datos: single | double

Tipo discriminante, especificado como el par separado por comas que consta de un vector de caracteres o un escalar de cadena en esta tabla.'DiscrimType'

ValorDescripciónEl tratamiento predictor de covarianza
'linear'Análisis discriminante lineal regularizado (LDA)
  • Todas las clases tienen la misma matriz de covarianza.

  • Σ^γ=(1γ)Σ^+γdiag(Σ^).

    Σ^ es la matriz empírica de covarianza agrupada y es la cantidad de regularización.γ

'diaglinear'LdaTodas las clases tienen la misma matriz de covarianza diagonal.
'pseudolinear'LdaTodas las clases tienen la misma matriz de covarianza. El software invierte la matriz de covarianzas utilizando el pseudo inverso.
'quadratic'Análisis discriminante cuadrático (QDA)Las matrices de covarianza pueden variar entre las clases.
'diagquadratic'QDALas matrices de covarianza son diagonales y pueden variar entre las clases.
'pseudoquadratic'QDALas matrices de covarianza pueden variar entre las clases. El software invierte la matriz de covarianzas utilizando el pseudo inverso.

Nota

Para utilizar la regularización, debe especificar.'linear' Para especificar la cantidad de regularización, utilice el argumento de par nombre-valor.Gamma

Ejemplo: 'DiscrimType','quadratic'

Cantidad de regularización a aplicar al estimar la matriz de covarianza de los predictores, especificado como el par separado por comas que consta de y un valor escalar en el intervalo [0,1]. proporciona un control más preciso sobre la estructura de matriz de covarianza que.'Gamma'GammaDiscrimType

  • Si se especifica, el software no utiliza la regularización para ajustar la matriz de covarianza.0 Es decir, el software estima y utiliza la matriz de covarianza empírica sin restricciones.

    • Para el análisis discriminante lineal, si la matriz de covarianza empírica es singular, el software aplica automáticamente la regularización mínima necesaria para invertir la matriz de covarianza. Puede visualizar el importe de regularización elegido introduciendo en la línea de mandatos.Mdl.Gamma

    • Para el análisis de discriminante cuadrático, si al menos una clase tiene una matriz de covarianza empírica que es singular, entonces el software produce un error.

  • Si especifica un valor en el intervalo (0, 1), debe implementar el análisis discriminante lineal, de lo contrario, el software producirá un error. Por lo tanto, el software se establece en.DiscrimType'linear'

  • Si se especifica, el software utiliza la regularización máxima para la estimación de la matriz de covarianza.1 Es decir, el software restringe la matriz de covarianza para que sea diagonal. Alternativamente, puede establecer o para matrices de covarianza diagonales.DiscrimType'diagLinear''diagQuadratic'

Ejemplo: 'Gamma',1

Tipos de datos: single | double

La optimización de hiperparámetros

contraer todo

Parámetros para optimizar, especificados como el par separado por comas que consta de uno de los siguientes:'OptimizeHyperparameters'

  • — No optimice.'none'

  • Uso.'auto'{'Delta','Gamma'}

  • : Optimice todos los parámetros elegibles.'all'

  • Matriz de cadenas o matriz de celdas de nombres de parámetro elegibles.

  • Vector de objetos, normalmente la salida de.optimizableVariablehiperparámetros

La optimización intenta minimizar la pérdida de validación cruzada (error) para variando los parámetros.fitcdiscr Para obtener información sobre la pérdida de validación cruzada (aunque en un contexto diferente), consulte.Pérdida de clasificación Para controlar el tipo de validación cruzada y otros aspectos de la optimización, utilice el par nombre-valor.HyperparameterOptimizationOptions

Nota

valores reemplazan los valores que se establecen con otros argumentos de par nombre-valor.'OptimizeHyperparameters' Por ejemplo, si se establece en hace que los valores se apliquen.'OptimizeHyperparameters''auto''auto'

Los parámetros elegibles para son:fitcdiscr

  • — busca entre valores positivos, de forma predeterminada, con escala logaritmo en el rango.Deltafitcdiscr[1e-6,1e3]

  • — busca entre,,,,, y.DiscrimTypefitcdiscr'linear''quadratic''diagLinear''diagQuadratic''pseudoLinear''pseudoQuadratic'

  • : busca entre valores reales en el rango.Gammafitcdiscr[0,1]

Establezca parámetros no predeterminados pasando un vector de objetos que tienen valores no predeterminados.optimizableVariable Por ejemplo,

load fisheriris params = hyperparameters('fitcdiscr',meas,species); params(1).Range = [1e-4,1e6];

Pase como el valor de.paramsOptimizeHyperparameters

De forma predeterminada, la visualización iterativa aparece en la línea de comandos y los trazados aparecen según el número de hiperparámetros de la optimización. Para la optimización y los trazados, la función objetivo es log(1 + cross-validation loss) para la regresión y la tasa de clasificación errónea para la clasificación. Para controlar la visualización iterativa, establezca el campo del argumento de par nombre-valor.Verbose'HyperparameterOptimizationOptions' Para controlar los trazados, establezca el campo del argumento de par nombre-valor.ShowPlots'HyperparameterOptimizationOptions'

Para ver un ejemplo, vea.Optimizar el modelo de análisis discriminante

Ejemplo: 'auto'

Opciones de optimización, especificadas como el par separado por comas que consta de una estructura.'HyperparameterOptimizationOptions' Este argumento modifica el efecto del argumento de par nombre-valor.OptimizeHyperparameters Todos los campos de la estructura son opcionales.

Nombre de campoValoresPredeterminado
Optimizer
  • — Utilice la optimización bayesiana.'bayesopt' Internamente, esta configuración llama.bayesopt

  • : Utilice la búsqueda de cuadrícula con valores por dimensión.'gridsearch'NumGridDivisions

  • — Búsqueda aleatoria entre puntos.'randomsearch'MaxObjectiveEvaluations

búsquedas en orden aleatorio, utilizando muestreo uniforme sin sustitución de la rejilla.'gridsearch' Después de la optimización, puede obtener una tabla en orden de cuadrícula mediante el comando.sortrows(Mdl.HyperparameterOptimizationResults)

'bayesopt'
AcquisitionFunctionName

  • 'expected-improvement-per-second-plus'

  • 'expected-improvement'

  • 'expected-improvement-plus'

  • 'expected-improvement-per-second'

  • 'lower-confidence-bound'

  • 'probability-of-improvement'

Las funciones de adquisición cuyos nombres incluyen no producen resultados reproducibles porque la optimización depende del tiempo de ejecución de la función objetiva.per-second Las funciones de adquisición cuyos nombres incluyen modificar su comportamiento cuando están sobreexplotando un área.plus Para obtener más información, consulte.Tipos de función de adquisición

'expected-improvement-per-second-plus'
MaxObjectiveEvaluationsNúmero máximo de evaluaciones de funciones objetivas.para o, y toda la rejilla para30'bayesopt''randomsearch''gridsearch'
MaxTime

Límite de tiempo, especificado como real positivo. El límite de tiempo es en segundos, medido por y.tictoc El tiempo de ejecución puede exceder porque no interrumpe las evaluaciones de funciones.MaxTimeMaxTime

Inf
NumGridDivisionsPara el número de valores de cada dimensión.'gridsearch' El valor puede ser un vector de enteros positivos que da el número de valores para cada dimensión, o un escalar que se aplica a todas las dimensiones. Este campo se omite para las variables categóricas.10
ShowPlotsValor lógico que indica si se mostrarán los trazados. Si, este campo traza el mejor valor de la función objetiva con respecto al número de iteración.true Si hay uno o dos parámetros de optimización, y si es así, también traza un modelo de la función objetiva contra los parámetros.Optimizer'bayesopt'ShowPlotstrue
SaveIntermediateResultsValor lógico que indica si se guardan los resultados cuando es.Optimizer'bayesopt' Si, este campo sobrescribe una variable de espacio de trabajo denominada en cada iteración.true'BayesoptResults' La variable es un objeto.BayesianOptimizationfalse
Verbose

Mostrar en la línea de comandos.

  • — Sin visualización iterativa0

  • — Visualización iterativa1

  • — Visualización iterativa con información adicional2

Para obtener información detallada, vea el argumento de par nombre-valor.bayesoptVerbose

1
UseParallelValor lógico que indica si se debe ejecutar la optimización bayesiana en paralelo, lo que requiere.Parallel Computing Toolbox™ Para obtener más información, consulte.Optimización bayesiana paralelafalse
Repartition

Valor lógico que indica si se vuelve a particionar la validación cruzada en cada iteración. Si, el optimizador utiliza una sola partición para la optimización.false

normalmente proporciona los resultados más sólidos, ya que esta configuración tiene en cuenta el ruido de partición.true Sin embargo, para obtener buenos resultados, requiere al menos el doble de evaluaciones de función.true

false
No utilice más de uno de los tres nombres de campo siguientes.
CVPartitionUn objeto, creado por.cvpartitioncvpartitionSi no especifica ningún campo de validación cruzada'Kfold',5
HoldoutUn escalar en el rango que representa la fracción de exclusión.(0,1)
KfoldUn entero mayor que 1.

Ejemplo: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)

Tipos de datos: struct

Argumentos de salida

contraer todo

Modelo de clasificación de análisis discriminante entrenado, devuelto como un objeto de modelo o un objeto de modelo validado de forma cruzada.ClassificationDiscriminantClassificationPartitionedModel

Si establece cualquiera de los argumentos de par nombre-valor,, o, a continuación, es un objeto de modelo validado por Cruz.KFoldHoldoutCrossValCVPartitionMdlClassificationPartitionedModel De lo contrario, es un objeto de modelo.MdlClassificationDiscriminant

Para hacer referencia a las propiedades de, utilice notación de puntos.Mdl Por ejemplo, para mostrar los medios de componente estimados en la ventana de comandos, escriba.Mdl.Mu

Más acerca de

contraer todo

Clasificación discriminante

El modelo para el análisis discriminante es:

  • Cada clase () genera datos () utilizando una distribución normal multivariada.YX Es decir, el modelo asume que tiene una distribución de mezcla gaussiana ().Xgmdistribution

    • Para el análisis discriminante lineal, el modelo tiene la misma matriz de covarianza para cada clase, sólo los medios varían.

    • Para el análisis de discriminante cuadrático, los medios y las covarianzas de cada clase varían.

clasifica para minimizar el costo de clasificación esperado:Predecir

y^=argminy=1,...,Kk=1KP^(k|x)C(y|k),

Dónde

  • y^ es la clasificación pronosticada.

  • es el número de clases.K

  • P^(k|x) es la clase de observación.probabilidad posteriorkx

  • C(y|k) es la de clasificar una observación como cuando es su verdadera clase.Costoyk

Para obtener más información, consulte.Predicción mediante modelos de análisis discriminantes

Sugerencias

Después de entrenar un modelo, puede generar código de C/C++ que predice etiquetas para nuevos datos. La generación de código C/C++ requiere MATLABCoder™. Para obtener más información, consulte.Introducción a la generación de código

Funcionalidad alternativa

Funciones

La función también realiza un análisis discriminante. suele ser más incómodo de usar.classifyclassify

  • requiere que ajuste el clasificador cada vez que realice una nueva predicción.classify

  • no realiza la validación cruzada ni la optimización de hiperparámetros.classify

  • requiere que ajuste el clasificador al cambiar las probabilidades previas.classify

Capacidades ampliadas

Introducido en R2014a