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.

loss

Error de clasificación para el clasificador Bayes ingenuo

Descripción

L = loss(Mdl,tbl,ResponseVarName) Devuelve la pérdida de clasificación mínima (consulte), un escalar que representa qué tan bien el clasificador Bayes Ingenuo entrenado clasifica los datos del predictor en la tabla) en comparación con las etiquetas de clase verdaderas en.Pérdida de clasificaciónMdltbltbl.ResponseVarName

Normaliza las probabilidades de clase en las probabilidades de clase anteriores utilizadas para el entrenamiento, almacenadas en la propiedad de.losstbl.ResponseVarNamefitcnbPriorMdl

L = loss(Mdl,tbl,Y) Devuelve la pérdida de clasificación mínima (), un escalar que representa qué tan bien el clasificador Bayes Ingenuo entrenado clasifica los datos del predictor en la tabla) en comparación con las etiquetas de clase verdaderas en.LMdltblY

Normaliza las probabilidades de clase en las probabilidades de clase anteriores utilizadas para el entrenamiento, almacenadas en la propiedad de.lossYfitcnbPriorMdl

ejemplo

L = loss(Mdl,X,Y) Devuelve la pérdida de clasificación mínima (), un escalar que representa qué tan bien el clasificador Bayes Ingenuo entrenado clasifica los datos del predictor () en comparación con las etiquetas de clase verdaderas ().LMdlXY

Normaliza las probabilidades de clase en las probabilidades de clase anteriores utilizadas para el entrenamiento, almacenadas en la propiedad de.lossYfitcnbPriorMdl

ejemplo

L = loss(___,Name,Value) Devuelve la pérdida de clasificación con opciones adicionales especificadas por uno o más argumentos de par, utilizando cualquiera de las sintaxis anteriores.Name,Value

Argumentos de entrada

expandir todo

Clasificador Naive Bayes, especificado como modelo o modelo devuelto por oClassificationNaiveBayesCompactClassificationNaiveBayesfitcnb compactRespectivamente.

Datos de ejemplo, especificados como una tabla. Cada fila de corresponde a una observación, y cada columna corresponde a una variable predictora.tbl Opcionalmente, puede contener columnas adicionales para la variable de respuesta y ponderaciones de observación. debe contener todos los predictores utilizados para entrenar.tbltblMdl No se permiten las variables de varias columnas ni matrices de celdas que no sean matrices de celdas de vectores de caracteres.

Si ha entrenado con datos de ejemplo contenidos en a, los datos de entrada para este método también deben estar en una tabla.Mdltable

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 la variable de respuesta es una matriz de caracteres, cada elemento debe corresponder a una fila de la matriz.

Tipos de datos: char | string

Datos de predictor, especificados como una matriz numérica.

Cada fila de corresponde a una observación (también conocida como una instancia o ejemplo), y cada columna corresponde a una variable (también conocida como una característica).X Las variables que componen las columnas de deben ser las mismas que las variables que entrenaron.XMdl

La longitud y el número de filas de deben ser iguales.YX

Tipos de datos: double | single

Etiquetas de clase, especificadas como una matriz categórica, de caracteres o de cadena, Vector lógico o numérico o matriz de celdas de vectores de caracteres. debe ser el mismo que el tipo de datos.YMdl.ClassNames (The software treats string arrays as cell arrays of character vectors.)

La longitud y el número de filas de o deben ser iguales.YtblX

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

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

Función de pérdida, especificada como el par separado por comas que consta de y un identificador de función o nombre de función de pérdida integrado.'LossFun'

  • La tabla siguiente enumera las funciones de pérdida disponibles. Especifique uno utilizando su vector de caracteres correspondiente o escalar de cadena.

    ValorDescripción
    'binodeviance'Desviación binomial
    'classiferror'Error de clasificación
    'exponential'Exponencial
    'hinge'Bisagra
    'logit'Logística
    'mincost'Costo mínimo previsto de clasificación errónea (para puntuaciones de clasificación que son probabilidades posteriores)
    'quadratic'Cuadrática

    es adecuada para las puntuaciones de clasificación que son probabilidades posteriores.'mincost' Los modelos Bayes Naive devuelven las probabilidades posteriores como puntuaciones de clasificación de forma predeterminada (consulte predict).

  • Especifique su propia función utilizando la notación de identificador de función.

    Supongamos que es el número de observaciones en y ser el número de clases distintas (, es el modelo de entrada).nXKnumel(Mdl.ClassNames)Mdl La función debe tener esta firma

    lossvalue = lossfun(C,S,W,Cost)
    Dónde:

    • El argumento de salida es un escalar.lossvalue

    • Elija el nombre de la función (lossfun).

    • es una matriz lógica con filas que indican a qué clase pertenece la observación correspondiente.CnK El orden de las columnas corresponde al orden de la clase.Mdl.ClassNames

      Construya estableciendo si la observación está en la clase, para cada fila.CC(p,q) = 1pq Establezca todos los demás elementos de la fila en.p0

    • es una matriz numérica de puntuaciones de clasificación.SnK El orden de las columnas corresponde al orden de la clase. es una matriz de puntuaciones de clasificación, similar a la salida de.Mdl.ClassNamesSPredecir

    • es un vector numérico de pesos de observación de-por-1.Wn Si pasa, el software los normaliza para sumar.W1

    • es una matriz numérica de costes de clasificación errónea.CostoKK Por ejemplo, especifica un coste para la clasificación correcta y para la clasificación errónea.Cost = ones(K) - eye(K)01

    Especifique la función mediante 'LossFun',@lossfun.

Para obtener más información sobre las funciones de pérdida, consulte.Pérdida de clasificación

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 o el nombre de una variable en.'Weights'tbl El software pesa las observaciones en cada fila o con el peso correspondiente en.XtblWeights

Si se especifica como un vector, el tamaño de debe ser igual al número de filas de o.WeightsWeightsXtbl

Si especifica como el nombre de una variable en, debe hacerlo como un vector de caracteres o escalar de cadena.Weightstbl Por ejemplo, si las ponderaciones se almacenan como, a continuación, especifique as.tbl.wWeights'w' De lo contrario, el software trata todas las columnas de, incluidos, como predictores.tbltbl.w

Si no especifica su propia función de pérdida, entonces el software se normaliza para sumar.Weights1

Tipos de datos: double | char | string

Argumentos de salida

expandir todo

Pérdida de clasificación, devuelta como un escalar. es una medida de calidad de generalización o de reenvío.L Su interpretación depende de la función de pérdida y el esquema de ponderación, pero, en general, los mejores clasificadores producen valores de pérdida más pequeños.

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response rng(1);      % For reproducibility

Entrena a un ingenuo clasificador Bayes. Especifique una muestra de retención del 15% para las pruebas. Es recomendable especificar el orden de la clase. Supongamos que cada predictor se distribuye condicionalmente normalmente dada su etiqueta.

CVMdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'},...     'Holdout',0.15); CMdl = CVMdl.Trained{1}; % Extract the trained, compact classifier testInds = test(CVMdl.Partition);   % Extract the test indices XTest = X(testInds,:); YTest = Y(testInds);

es un clasificador.CVMdlClassificationPartitionedModel Contiene la propiedad, que es un array de celdas 1 por 1 con un clasificador que el software entrenado usando el conjunto de entrenamiento.TrainedCompactClassificationNaiveBayes

Determine qué tan bien se generaliza el algoritmo calculando la pérdida de costo mínima de la muestra de prueba.

L = loss(CMdl,XTest,YTest)
L = 0.0476 

El costo promedio de la muestra de prueba es de aproximadamente 0,05.

Puede mejorar el error de clasificación especificando mejores distribuciones predictoras al entrenar el clasificador.

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response rng(1); % For reproducibility

Entrena a un ingenuo clasificador Bayes. Especifique una muestra de retención del 15% para las pruebas. Es recomendable especificar el orden de la clase. Supongamos que cada predictor se distribuye condicionalmente normalmente dada su etiqueta.

CVMdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'},...     'Holdout',0.15); CMdl = CVMdl.Trained{1}; % Extract the trained, compact classifier testInds = test(CVMdl.Partition);   % Extract the test indices XTest = X(testInds,:); YTest = Y(testInds);

es un clasificador.CVMdlClassificationPartitionedModel Contiene la propiedad, que es un array de celdas 1 por 1 con un clasificador que el software entrenado usando el conjunto de entrenamiento.TrainedCompactClassificationNaiveBayes

Determine qué tan bien el algoritmo generaliza mediante la estimación del error de clasificación de muestra de prueba.

L = loss(CMdl,XTest,YTest,'LossFun','classiferror')
L = 0.0476 

El clasificador clasificó erróneamente aproximadamente el 5% de las observaciones de la muestra de prueba.

Más acerca de

expandir todo

Referencias

[1] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, second edition. Springer, New York, 2008.

Capacidades ampliadas