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.

cvshrink

Clase: ClassificationDiscriminant

Validación cruzada de la regularización de discriminante lineal

Sintaxis

err = cvshrink(obj)
[err,gamma] = cvshrink(obj)
[err,gamma,delta] = cvshrink(obj)
[err,gamma,delta,numpred] = cvshrink(obj)
[err,...] = cvshrink(obj,Name,Value)

Descripción

err = cvshrink(obj) Devuelve un vector de valores de error de clasificación de validación cruzada para valores diferentes del parámetro de regularización gamma.

[err,gamma] = cvshrink(obj) también devuelve el vector de valores de gamma.

[err,gamma,delta] = cvshrink(obj) también devuelve el vector de valores Delta.

[err,gamma,delta,numpred] = cvshrink(obj) Devuelve el vector de número de predictores distintos de cero para cada configuración de los parámetros gamma y Delta.

[err,...] = cvshrink(obj,Name,Value) Cross se valida con opciones adicionales especificadas por uno o más argumentos de par.Name,Value

Argumentos de entrada

obj

Clasificador de análisis discriminante, producido utilizando.fitcdiscr

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

'delta'

  • Escalar: utiliza este valor con cada valor de para la regularización.deltacvshrinkdeltaGamma

  • Vector de fila: para cada uno y, utiliza con para la regularización.deltaijcvshrinkdelta(j)gamma(i)

  • Matrix: el número de filas de debe ser igual al número de elementos en.deltadeltaGamma Para cada uno y, usos con para la regularización.ijcvshrinkdelta(i,j)gamma(i)

Predeterminado: 0

'gamma'

Vector de valores de gamma para validación cruzada.

Predeterminado: 0:0.1:1

'NumDelta'

Número de intervalos Delta para la validación cruzada. Para cada valor de gamma, valida de manera cruzada el discriminante utilizando valores de Delta, espaciados uniformemente desde cero hasta el Delta máximo en el que se eliminan todos los predictores para este valor de gamma.cvshrinkNumDelta + 1 Si establece, ignora.deltacvshrinkNumDelta

Predeterminado: 0

'NumGamma'

Número de intervalos gamma para validación cruzada. valida de manera cruzada el discriminante usando los valores de gamma, espaciados uniformemente de a.cvshrinkNumGamma + 1MinGamma1 Si establece, ignora.GammacvshrinkNumGamma

Predeterminado: 10

'verbose'

Nivel de verbosidad, un número entero de.02 Los valores más altos proporcionan más mensajes de progreso.

Predeterminado: 0

Argumentos de salida

err

Vector numérico o matriz de errores. es la tasa de error de clasificación errónea, es decir, la fracción media de los datos mal clasificados en todos los pliegues.err

  • Si es un escalar (valor predeterminado), es la tasa de error de clasificación errónea para regularizarse con.deltaerr(i)objgamma(i)

  • Si es un vector, es la tasa de error de clasificación errónea para regularizarse con y.deltaerr(i,j)objgamma(i)delta(j)

  • Si es una matriz, es la tasa de error de clasificación errónea para regularizarse con y.deltaerr(i,j)objgamma(i)delta(i,j)

gamma

Vector de valores gamma utilizados para la regularización. Ver.Gamma y Delta

delta

Vector o matriz de valores Delta utilizados para la regularización. Ver.Gamma y Delta

  • Si se da un escalar para el par nombre-valor, la salida es un vector de fila del mismo tamaño que, con entradas iguales al escalar de entrada.deltadeltaGamma

  • Si se da un vector de fila para el par nombre-valor, la salida es una matriz con el mismo número de columnas que el vector de fila y con el número de filas igual al número de elementos de.deltadeltaGamma La salida es igual a la entrada.delta(i,j)delta(j)

  • Si se da una matriz para el par nombre-valor, la salida es la misma que la matriz de entrada.deltadelta El número de filas de debe ser igual al número de elementos en.deltaGamma

numpred

Vector numérico o matriz que contiene el número de predictores en el modelo en varias regularizaciones. tiene el mismo tamaño que.numprederr

  • Si es un escalar (predeterminado), es el número de predictores para regularizarse con y.deltanumpred(i)objgamma(i)delta

  • Si es un vector, es el número de predictores para regularizarse con y.deltanumpred(i,j)objgamma(i)delta(j)

  • Si es una matriz, es el número de predictores para regularizarse con y.deltanumpred(i,j)objgamma(i)delta(i,j)

Ejemplos

expandir todo

Regularice un clasificador de análisis discriminante y vea el equilibrio entre el número de predictores en el modelo y la precisión de la clasificación.

Cree un clasificador de análisis discriminante lineal para los datos.ovariancancer Establezca las opciones y para mantener el modelo resultante razonablemente pequeño.SaveMemoryFillCoeffs

load ovariancancer obj = fitcdiscr(obs,grp,...     'SaveMemory','on','FillCoeffs','off');

Utilice 10 niveles de y 10 niveles de para buscar buenos parámetros.GammaDelta Esta búsqueda consume mucho tiempo. Se establece en para ver el progreso.Verbose1

rng('default') % for reproducibility [err,gamma,delta,numpred] = cvshrink(obj,...     'NumGamma',9,'NumDelta',9,'Verbose',1);
Done building cross-validated model. Processing Gamma step 1 out of 10. Processing Gamma step 2 out of 10. Processing Gamma step 3 out of 10. Processing Gamma step 4 out of 10. Processing Gamma step 5 out of 10. Processing Gamma step 6 out of 10. Processing Gamma step 7 out of 10. Processing Gamma step 8 out of 10. Processing Gamma step 9 out of 10. Processing Gamma step 10 out of 10. 

Trace la tasa de error de clasificación con respecto al número de predictores.

plot(err,numpred,'k.') xlabel('Error rate'); ylabel('Number of predictors');

Más acerca de

expandir todo

Sugerencias

  • Examine las salidas y para ver el equilibrio entre el error de validación cruzada y el número de predictores.errnumpred Cuando encuentre un punto satisfactorio, establezca las propiedades correspondientes en el modelo utilizando la notación de puntos.Gammadelta Por ejemplo, si es la ubicación del punto satisfactorio, establezca(i,j)

    obj.Gamma = gamma(i); obj.Delta = delta(i,j);