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.

ClassificationPartitionedKernel

Modelo de clasificación de kernel binario validado con validación cruzada

Descripción

es un modelo de clasificación de kernel binario, entrenado en pliegues con validación cruzada.ClassificationPartitionedKernel Puede estimar la calidad de la clasificación o qué tan bien se generaliza el modelo de clasificación del kernel, utilizando una o más funciones "kfold":,, y.kfoldPredictkfoldLosskfoldMarginkfoldEdge

Cada método "kfold" utiliza modelos formados en observaciones de pliegue (en pliegue) de formación para predecir la respuesta para las observaciones de la validación (no se pliegan). Por ejemplo, supongamos que se validan de una validación cruzada con cinco pliegues. En este caso, el software asigna aleatoriamente cada observación en cinco grupos de igual tamaño (aproximadamente). El contiene cuatro de los grupos (es decir, aproximadamente 4/5 de los datos) y el contiene el otro grupo (es decir, aproximadamente 1/5 de los datos).pliegue de entrenamientopliegue de validación En este caso, la validación cruzada procede de la siguiente manera:

  1. El software entrena el primer modelo (almacenado en) mediante el uso de las observaciones en los últimos cuatro grupos y reserva las observaciones en el primer grupo para la validación.CVMdl.Trained{1}

  2. El software entrena el segundo modelo (almacenado en) utilizando las observaciones del primer grupo y los tres últimos grupos.CVMdl.Trained{2} El software reserva las observaciones en el segundo grupo para su validación.

  3. El software procede de manera similar para los modelos tercero, cuarto y quinto.

Si valida mediante el uso, el software calcula las predicciones para las observaciones en grupo mediante el modelo TH.kfoldPredictii En Resumen, el software estima una respuesta para cada observación mediante el uso del modelo entrenado sin esa observación.

Nota

los objetos de modelo no almacenan el conjunto de Datos predictores.ClassificationPartitionedKernel

Creación

Puede crear un modelo entrenando un modelo de kernel de clasificación utilizando y especificando uno de estos argumentos de par nombre-valor:,,,, o.ClassificationPartitionedKernelfitckernel'Crossval''CVPartition''Holdout''KFold''Leaveout'

Propiedades

expandir todo

Propiedades de validación cruzada

Esta propiedad es de solo lectura.

Nombre de modelo validado de forma cruzada, especificado como vector de caracteres.

Por ejemplo, especifica un modelo de kernel validado de forma cruzada.'Kernel'

Tipos de datos: char

Esta propiedad es de solo lectura.

Número de pliegues con validación cruzada, especificado como un escalar entero positivo.

Tipos de datos: double

Esta propiedad es de solo lectura.

Valores de parámetro de validación cruzada, especificados como un objeto. Los valores de parámetro corresponden a los valores de argumento de par nombre-valor utilizados para validar el clasificador del kernel. no contiene parámetros estimados.ModelParameters

Puede acceder a las propiedades del uso de notación de puntos.ModelParameters

Esta propiedad es de solo lectura.

Número de observaciones en los datos de entrenamiento, especificado como un escalar numérico positivo.

Tipos de datos: double

Esta propiedad es de solo lectura.

Partición de datos que indica cómo el software divide los datos en pliegues de validación cruzada, especificados como un modelo.cvpartition

Esta propiedad es de solo lectura.

Clasificadores de kernel entrenados en pliegues de validación cruzada, especificados como una matriz de celdas de modelos. tiene células, donde está el número de pliegues.ClassificationKernelTrainedkk

Tipos de datos: cell

Esta propiedad es de solo lectura.

Ponderaciones de observación utilizadas para validar de forma cruzada el modelo, especificado como un vector numérico. tiene elementos.WNumObservations

El software normaliza las ponderaciones utilizadas para la formación.nansum(W)1

Tipos de datos: single | double

Esta propiedad es de solo lectura.

Etiquetas de clase observadas utilizadas para validar de forma cruzada el modelo, especificado como una matriz categórica o de caracteres, Vector lógico o numérico, o matriz de celdas de vectores de caracteres. tiene elementos y tiene el mismo tipo de datos que el argumento de entrada que se pasa a la validación cruzada del modelo.YNumObservationsYfitckernel (The software treats string arrays as cell arrays of character vectors.)

Cada fila de representa la clasificación observada de la fila correspondiente de.YX

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

Otras propiedades de clasificación

Esta propiedad es de solo lectura.

Índices predictores categóricos, especificados como un valor numérico vacío. En general, contiene valores de índice correspondientes a las columnas de los datos del predictor que contienen predictores categóricos.CategoricalPredictors Dado que los modelos solo se pueden entrenar con Datos predictores numéricos, esta propiedad está vacía ().ClassificationKernel[]

Esta propiedad es de solo lectura.

Etiquetas de clase únicas utilizadas en el entrenamiento, especificadas como una matriz categórica o de caracteres, Vector lógico o numérico, o matriz de celdas de vectores de caracteres. tiene el mismo tipo de datos que la propiedad de etiquetas de clase observada y determina el orden de la clase.ClassNamesY

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

Esta propiedad es de solo lectura.

Costos de clasificación errónea, especificados como una matriz numérica cuadrada. tiene filas y columnas, donde está el número de clases.CostoKK

es el costo de clasificar un punto en la clase si su clase verdadera es.Cost(i,j)ji El orden de las filas y columnas corresponde al orden de las clases en.CostoClassNames

Tipos de datos: double

Esta propiedad es de solo lectura.

Los nombres predictores en orden de su aparición en los Datos predictores, especificados como una matriz de celdas de vectores de caracteres del formulario.X{'x1','x2',...} La longitud de es igual al número de columnas en.PredictorNamesX

Tipos de datos: cell

Esta propiedad es de solo lectura.

Probabilidades de clase anteriores, especificadas como un vector numérico. tiene tantos elementos como clases, y el orden de los elementos corresponde a los elementos de.PriorClassNamesClassNames

Tipos de datos: double

Esta propiedad es de solo lectura.

Nombre de variable de respuesta, especificado como.'Y' Dado que los modelos no se pueden entrenar en datos tabulares, esta propiedad es siempre.ClassificationKernel'Y'

Tipos de datos: char

Función de transformación de puntuación para aplicar a las puntuaciones previstas, especificadas como un nombre de función o un identificador de función.

Para un modelo de clasificación de kernel y antes de la transformación de puntuación, la puntuación de clasificación pronosticada para la observación (vector de fila) esMdlx f(x)=T(x)β+b.

  • T(·) es una transformación de una observación para la expansión de características.

  • es el vector de columna estimado de los coeficientes.β

  • es el sesgo escalar estimado.b

Para cambiar la función de transformación de puntuación aCVMdl function, por ejemplo, utilice la notación de puntos.

  • Para una función incorporada, ingrese este código y reemplace function con un valor de la tabla.

    CVMdl.ScoreTransform = 'function';

    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, introduzca su manejador de funciones.MATLAB®

    CVMdl.ScoreTransform = @function;

    function debe aceptar una matriz de las puntuaciones originales para cada clase y, a continuación, devolver una matriz del mismo tamaño que representa las puntuaciones transformadas para cada clase.

Tipos de datos: char | function_handle

Funciones del objeto

kfoldEdgeLa arista de clasificación para el modelo de clasificación de kernel con validación cruzada
kfoldLossPérdida de clasificación para el modelo de clasificación de kernel con validación cruzada
kfoldMarginLos márgenes de clasificación para el modelo de clasificación de kernel con validación cruzada
kfoldPredictClasifique las observaciones en el modelo de clasificación de kernel validado

Ejemplos

contraer todo

Cargue el conjunto de datos.ionosphere Este conjunto de datos tiene 34 predictores y 351 respuestas binarias para las devoluciones de radar, ya sea Bad () o Good ().'b''g'

load ionosphere rng('default') % For reproducibility

Valide de forma cruzada un modelo de clasificación de kernel binario. De forma predeterminada, el software utiliza la validación cruzada de 10 veces.

CVMdl = fitckernel(X,Y,'CrossVal','on')
CVMdl =    classreg.learning.partition.ClassificationPartitionedKernel     CrossValidatedModel: 'Kernel'            ResponseName: 'Y'         NumObservations: 351                   KFold: 10               Partition: [1x1 cvpartition]              ClassNames: {'b'  'g'}          ScoreTransform: 'none'     Properties, Methods  
numel(CVMdl.Trained)
ans = 10 

es un modelo.CVMdlClassificationPartitionedKernel Debido a que implementa la validación cruzada de 10 veces, contiene 10 modelos que el software entrena en observaciones de pliegue de formación (en pliegue).fitckernelCVMdlClassificationKernel

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

kfoldLoss(CVMdl)
ans = 0.0940 

La tasa de error de clasificación es de aproximadamente 9%.

Consulte también

|

Introducido en R2018b