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.

cvloss

Clase: RegressionTree

Error de regresión mediante validación cruzada

Sintaxis

E = cvloss(tree)
[E,SE] = cvloss(tree)
[E,SE,Nleaf] = cvloss(tree)
[E,SE,Nleaf,BestLevel] = cvloss(tree)
[E,...] = cvloss(tree,Name,Value)

Descripción

E = cvloss(tree) Devuelve el error de regresión validado (pérdida) para un árbol de regresión.tree

[E,SE] = cvloss(tree) Devuelve el error estándar de.E

[E,SE,Nleaf] = cvloss(tree) Devuelve el número de hojas (nodos terminales) en.tree

[E,SE,Nleaf,BestLevel] = cvloss(tree) Devuelve el nivel de poda óptimo para.tree

[E,...] = cvloss(tree,Name,Value) Cross se valida 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

expandir todo

Árbol de regresión entrenado, especificado como un objeto construido mediante.RegressionTreefitrtree

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

Nivel de poda, especificado como el par separado por comas que consta de y un vector de enteros no negativos en orden ascendente o.'Subtrees''all'

Si especifica un vector, todos los elementos deben ser al menos y como máximo. indica el árbol completo, no podado e indica el árbol completamente podado (es decir, sólo el nodo raíz).0max(tree.PruneList)0max(tree.PruneList)

Si especifica,'all' cvloss opera en todos los subárboles (es decir, toda la secuencia de poda). Esta especificación equivale a usar.0:max(tree.PruneList)

cvloss ciruelas a cada nivel indicado en y, a continuación, estima los argumentos de salida correspondientes.treeSubtrees El tamaño de determina el tamaño de algunos argumentos de salida.Subtrees

Para invocar, las propiedades y de deben estar no vacías.SubtreesPruneListPruneAlphatree En otras palabras, crece estableciendo, o podando usandotree'Prune','on'tree prune.

Ejemplo: 'Subtrees','all'

Tipos de datos: single | double | char | string

Tamaño de árbol, especificado como el par separado por comas que consta de uno de los siguientes:'TreeSize'

  • : utiliza el árbol más pequeño cuyo coste se encuentra dentro de un error estándar del coste mínimo.'se'cvloss

  • : utiliza el árbol de coste mínimo.'min'cvloss

Número de pliegues que se utilizarán en un árbol con validación cruzada, especificado como el par separado por comas y que consta de un valor entero positivo mayor que 1.'KFold'

Ejemplo: 'KFold',8

Argumentos de salida

expandir todo

Error cuadrado medio de validación cruzada (pérdida), devuelto como un vector o escalar en función de la configuración del par nombre-valor.Subtrees

Error estándar de, devuelto como vector o escalar en función de la configuración del par nombre-valor.ESubtrees

Número de nodos hoja en, devueltos como un vector o escalar en función de la configuración del par nombre-valor.treeSubtrees Los nodos hoja son nodos terminales, que dan respuestas, no divisiones.

El mejor nivel de poda como se define en el par nombre-valor, devuelto como un escalar cuyo valor depende de:TreeSizeTreeSize

  • Si es, entonces es el nivel de poda más grande que alcanza un valor de dentro del error mínimo.TreeSize'se'BestLevelESE

  • Si es, entonces es el valor más pequeño en.TreeSize'min'BestLevelSubtrees

Ejemplos

expandir todo

Calcule el error de validación cruzada para un árbol de regresión predeterminado.

Cargue el conjunto de datos.carsmall Considere, y como predictores de la respuesta.DisplacementHorsepowerWeightMPG

load carsmall X = [Displacement Horsepower Weight];

Aumente un árbol de regresión utilizando todo el conjunto de datos.

Mdl = fitrtree(X,MPG);

Calcule el error de validación cruzada.

rng(1); % For reproducibility E = cvloss(Mdl)
E = 27.6976 

es la 10-Fold ponderada, promedio MSE (ponderado por el número de observaciones de prueba en los pliegues).E

Aplicar-pliegue la validación cruzada para encontrar el mejor nivel para podar un árbol de regresión para todos sus subárboles.k

Cargue el conjunto de datos.carsmall Considere, y como predictores de la respuesta.DisplacementHorsepowerWeightMPG

load carsmall X = [Displacement Horsepower Weight];

Aumente un árbol de regresión utilizando todo el conjunto de datos. Ver el árbol resultante.

Mdl = fitrtree(X,MPG); view(Mdl,'Mode','graph')

Calcule el error de validación cruzada de 5 veces para cada subárbol, excepto para los dos primeros niveles de poda más bajos y más altos. Especifique para devolver el mejor nivel de poda sobre todos los subárboles.

rng(1); % For reproducibility m = max(Mdl.PruneList) - 1
m = 15 
[~,~,~,bestLevel] = cvloss(Mdl,'SubTrees',2:m,'KFold',5)
bestLevel = 14 

De los niveles de poda, el mejor nivel de poda es.1514

Podar el árbol al mejor nivel. Ver el árbol resultante.

MdlPrune = prune(Mdl,'Level',bestLevel); view(MdlPrune,'Mode','graph')

Alternativas

Puede construir un modelo de árbol validado entre crossval, y llama a kfoldLoss En lugar de.cvloss Si va a examinar el árbol de validación cruzada más de una vez, entonces la alternativa puede ahorrar tiempo.

Sin embargo, a diferencia de, no vuelve, o.cvlosskfoldLossSENleafBestLevel

Consulte también

| | |