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.

resubPredict

Clase: ClassificationNaiveBayes

Predecir las etiquetas de reenvío del clasificador Bayes ingenuo

Descripción

ejemplo

label = resubPredict(Mdl) Devuelve un vector de etiquetas de clase pronosticadas () para el clasificador Bayes Ingenuo entrenado utilizando los Datos predictores.EtiquetaMdlMdl.X

ejemplo

[label,Posterior,Cost] = predict(Mdl) Además devuelve () y pronosticado (esperado) () correspondiente a las observaciones (filas) en.probabilidades posterioresPosteriorcostos de clasificación erróneaCostoMdl.X

Argumentos de entrada

expandir todo

Un clasificador Bayes Ingenuo completamente entrenado, especificado como un modelo entrenado por.ClassificationNaiveBayesfitcnb

Argumentos de salida

expandir todo

Etiquetas de clase pronosticadas, devueltas como un vector categórico, una matriz de caracteres, un vector lógico o numérico o una matriz de vectores de caracteres.

:Etiqueta

  • Es el mismo tipo de datos que las etiquetas de clase observadas () que se entrenaron.YMdl (The software treats string arrays as cell arrays of character vectors.)

  • Tiene una longitud igual al número de filas de.X

  • Es la clase que produce el menor costo de clasificación errónea esperada ().Costo

Class, devuelta como una matriz numérica. tiene filas iguales al número de filas y columnas iguales al número de clases distintas en los datos de entrenamiento ().probabilidades posterioresPosteriorMdl.Xsize(Mdl.ClassNames,1)

es la probabilidad posterior pronosticada de clase (es decir, en clase) dada la observación en fila de.Posterior(j,k)kMdl.ClassNames(k)jMdl.X

Tipos de datos: double

Esperado, devuelto como una matriz numérica. tiene filas iguales al número de filas y columnas iguales al número de clases distintas en los datos de entrenamiento ().costos de clasificación erróneaCostoMdl.Xsize(Mdl.ClassNames,1)

es el costo de clasificación errónea esperado de la observación en fila de ser pronosticada en la clase (es decir, en la clase).Cost(j,k)jMdl.XkMdl.ClassNames(k)

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response

Entrena a un ingenuo clasificador Bayes. Es recomendable especificar el orden de la clase. Supongamos que cada predictor es condicionalmente, normalmente distribuido dada su etiqueta.

Mdl = fitcnb(X,Y,...     'ClassNames',{'setosa','versicolor','virginica'});

es un clasificador.MdlClassificationNaiveBayes

Predecir las etiquetas de muestra de entrenamiento. Visualice los resultados de las 10 observaciones.

label = resubPredict(Mdl); rng(1); % For reproducibility idx = randsample(size(X,1),10); table(Y(idx),label(idx),'VariableNames',...     {'TrueLabel','PredictedLabel'})
ans=10×2 table
     TrueLabel      PredictedLabel
    ____________    ______________

    'setosa'         'setosa'     
    'versicolor'     'versicolor' 
    'virginica'      'virginica'  
    'setosa'         'setosa'     
    'versicolor'     'versicolor' 
    'setosa'         'setosa'     
    'versicolor'     'versicolor' 
    'versicolor'     'versicolor' 
    'setosa'         'setosa'     
    'setosa'         'setosa'     

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response

Entrena a un ingenuo clasificador Bayes. Es recomendable especificar el orden de la clase. Supongamos que cada predictor es condicionalmente, normalmente distribuido dada su etiqueta.

Mdl = fitcnb(X,Y,...     'ClassNames',{'setosa','versicolor','virginica'});

es un clasificador.MdlClassificationNaiveBayes

Estimar las probabilidades posteriores y los costos de clasificación errónea previstos para los datos de entrenamiento. Visualice los resultados para 10 observaciones.

[label,Posterior,MisclassCost] = resubPredict(Mdl); rng(1); % For reproducibility idx = randsample(size(X,1),10); Mdl.ClassNames
ans = 3x1 cell array
    {'setosa'    }
    {'versicolor'}
    {'virginica' }

table(Y(idx),label(idx),Posterior(idx,:),'VariableNames',...     {'TrueLabel','PredictedLabel','PosteriorProbability'})
ans=10×3 table
     TrueLabel      PredictedLabel              PosteriorProbability           
    ____________    ______________    _________________________________________

    'setosa'         'setosa'                   1     3.8821e-16     5.5878e-24
    'versicolor'     'versicolor'      1.2516e-54              1     4.5001e-06
    'virginica'      'virginica'      5.5646e-188     0.00058232        0.99942
    'setosa'         'setosa'                   1     4.5352e-20     3.1301e-27
    'versicolor'     'versicolor'      5.0002e-69        0.99989     0.00010716
    'setosa'         'setosa'                   1     2.9813e-18     2.1524e-25
    'versicolor'     'versicolor'      4.6313e-60        0.99999     7.5413e-06
    'versicolor'     'versicolor'     7.9205e-100        0.94293       0.057072
    'setosa'         'setosa'                   1      1.799e-19     6.0606e-27
    'setosa'         'setosa'                   1     1.5426e-17     1.2744e-24

MisclassCost(idx,:)
ans = 10×3

    0.0000    1.0000    1.0000
    1.0000    0.0000    1.0000
    1.0000    0.9994    0.0006
    0.0000    1.0000    1.0000
    1.0000    0.0001    0.9999
    0.0000    1.0000    1.0000
    1.0000    0.0000    1.0000
    1.0000    0.0571    0.9429
    0.0000    1.0000    1.0000
    0.0000    1.0000    1.0000

El orden de las columnas y corresponde al orden de las clases en.PosteriorMisclassCostMdl.ClassNames

Más acerca de

expandir todo

Referencias

[1] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, Second Edition. NY: Springer, 2008.