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.

kfoldLoss

Pérdida de clasificación para observaciones no utilizadas para la formación

Sintaxis

L = kfoldLoss(ens)
L = kfoldLoss(ens,Name,Value)

Descripción

L = kfoldLoss(ens) Devuelve la pérdida obtenida por el modelo de clasificación de validación cruzada.ens Para cada pliegue, este método calcula la pérdida de clasificación para las observaciones en plegamiento utilizando un modelo entrenado en observaciones desdobladas.

L = kfoldLoss(ens,Name,Value) calcula la pérdida con opciones adicionales especificadas por uno o más argumentos de par.Name,Value Puede especificar varios argumentos de par nombre-valor en cualquier orden como.Name1,Value1,…,NameN,ValueN

Argumentos de entrada

ens

Objeto de clase.ClassificationPartitionedEnsemble Crear junto con una de las opciones de validación cruzada:,,,, o.ensfitcensemble'crossval''kfold''holdout''leaveout''cvpartition' Alternativamente, cree a partir de un conjunto de clasificación conens crossval.

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

'folds'

Índices de pliegues que van desde.1ens.KFold Utilice sólo estos pliegues para las predicciones.

Predeterminado: 1:ens.KFold

'lossfun'

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 conjuntos enroscada y subespaciales devuelven probabilidades posteriores por defecto (es o).ens.Method'Bag''Subspace'

    • Si el método de conjunto es,, o, a continuación, utilizar probabilidades posteriores como puntuaciones de clasificación, debe especificar la transformación de puntuación de doble logit introduciendo'AdaBoostM1''AdaBoostM2'GentleBoost'LogitBoost'

      ens.ScoreTransform = 'doublelogit';

    • Para todos los demás métodos de conjunto, el software no admite las probabilidades posteriores como puntuaciones de clasificación.

  • 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(ens.ClassNames)ens 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.ens.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.ens.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

Predeterminado: 'classiferror'

'mode'

Un vector de caracteres o un escalar de cadena para determinar la salida de:kfoldLoss

  • — es un escalar, la pérdida promediada sobre todos los pliegues.'average'L

  • — es un vector de longitud, donde cada entrada es la pérdida de un pliegue.'individual'Lens.KFold

  • : es un vector en el que el elemento se obtiene mediante el uso de alumnos de la lista de entrada de alumnos.'cumulative'LJ1:J

Predeterminado: 'average'

Argumentos de salida

L

Pérdida, por defecto la fracción de datos mal clasificados. puede ser un vector, y puede significar cosas diferentes, dependiendo de la configuración del par nombre-valor.L

Ejemplos

expandir todo

Cargue el conjunto de datos.ionosphere

load ionosphere

Entrenar un conjunto de clasificación de 100 árboles de decisión utilizando AdaBoostM1. Especifique los tocones de árbol como los alumnos débiles.

t = templateTree('MaxNumSplits',1); ens = fitcensemble(X,Y,'Method','AdaBoostM1','Learners',t);

Valide el conjunto mediante validación cruzada de 10 veces.

cvens = crossval(ens);

Estime el error de clasificación de validación cruzada.

L = kfoldLoss(cvens)
L = 0.0655 

Más acerca de

expandir todo