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.

oobQuantileError

Clase: TreeBagger

Pérdida de cuantil fuera de bolsa de la bolsa de árboles de regresión

Descripción

ejemplo

err = quantileError(Mdl) Devuelve la mitad de la desviación absoluta media (MAD) comparando las respuestas verdaderas con las medianas predichas y fuera de bolsa en los Datos predictores y utilizando la bolsa de árboles de regresión. debe ser un objeto de modelo.fuera de bolsaMdl.YMdl.XMdlMdlTreeBagger

ejemplo

err = quantileError(Mdl,Name,Value) utiliza opciones adicionales especificadas por uno o más argumentos de par.Name,Value Por ejemplo, especifique las probabilidades de cuantil, el tipo de error o los árboles que se incluirán en la estimación de cuantil-regresión-error.

Argumentos de entrada

expandir todo

Bolsa de árboles de regresión, especificada como un objeto de modelo creado porTreeBagger TreeBagger.

  • El valor de debe ser.Mdl.MethodRegresión

  • Cuando entrenas usandoMdl TreeBagger, debe especificar el par nombre-valor.'OOBPrediction','on' En consecuencia, guarda la matriz de índice de observación fuera de bolsa requerida.TreeBaggerMdl.OOBIndices

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

Tipo de error de conjunto, especificado como el par separado por comas que consta de y un valor en esta tabla.'Mode' Supongo tau es el valor de.Quantile

ValorDescripción
'cumulative'

es un-por-errMdl.NumTreesnumel(tau) matriz numérica de errores de regresión de cuantil acumulativos. err(j,k) es el tau(k) error de regresión cuantil usando los alumnos en Mdl.Trees(1:j) solamente.

'ensemble'

se encuentra a 1 porerrnumel(tau) Vector numérico de los errores de regresión de cuantil acumulados para todo el conjunto. err(k) es el tau(k) error de regresión del cuantil del conjunto.

'individual'

es un-por-errMdl.NumTreesnumel(tau) matriz numérica de errores de regresión cuantil de alumnos individuales. err(j,k) es el tau(k) error de regresión cuantil utilizando el alumno en Mdl.Trees(j) solamente.

Para y, si elige incluir menos árboles en la estimación de cuantil utilizando, esta acción afecta al número de filas y a los índices de fila correspondientes.'cumulative''individual'Treeserr

Ejemplo: 'Mode','cumulative'

Probabilidad cuantil, especificada como el par separado por comas que consta de y un vector numérico que contiene valores en el intervalo [0,1].'Quantile' Para cada observación (fila) en,Mdl.X oobQuantileError estima los cuantiles correspondientes para todas las probabilidades en.Quantile

Ejemplo: 'Quantile',[0 0.25 0.5 0.75 1]

Tipos de datos: single | double

Índices de árboles que se utilizarán en la estimación de respuesta, especificados como el par separado por comas consistente en un vector numérico de enteros positivos.'Trees''all' Los índices corresponden a las celdas de; cada celda contiene un árbol en el conjunto.Mdl.Trees El valor máximo de debe ser menor o igual que el número de árboles en el conjunto ().TreesMdl.NumTrees

Para'all' oobQuantileError utiliza todos los árboles del conjunto (es decir, los índices).1:Mdl.NumTrees

Los valores que no sean los predeterminados pueden afectar al número de filas.err

Ejemplo: 'Trees',[1 10 Mdl.NumTrees]

Tipos de datos: char | string | single | double

Ponderaciones para atribuir a las respuestas de árboles individuales, especificadas como el par separado por comas que consta de un vector numérico de'TreeWeights' numel(trees) valores no negativos. trees es el valor de.Trees

Si especifica,'Mode','individual' oobQuantileError Ignora.TreeWeights

Tipos de datos: single | double

Argumentos de salida

expandir todo

La mitad del out-of-bag, devuelto como un escalar numérico oerror de regresión cuantil Tpornumel(tau) Matriz. tau es el valor de.Quantile

T depende de los valores de, y.ModeTreesQuantile Supongamos que especifica 'Quantile',tau Y 'Trees',trees.

  • Porque, es un'Mode','cumulative'err numel(trees)pornumel(tau) matriz numérica. err(j,k) es el tau(k) error de regresión de cuantil acumulativo, fuera de bolsa, utilizando los alumnos en Mdl.Trees(trees(1:j)).

  • Porque, es a-por-'Mode','ensemble'err1numel(tau) Vector numérico. err(k) es el tau(k) error de regresión de cuantil acumulativo, fuera de bolsa, utilizando los alumnos en Mdl.Trees(trees).

  • Porque, es un'Mode','individual'err numel(trees)pornumel(tau) matriz numérica. err(j,k) es el tau(k) error de regresión de cuantil fuera de bolsa utilizando el alumno en Mdl.Trees(trees(j)).

Ejemplos

expandir todo

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible de un automóvil debido a su cilindrada, peso y número de cilindros. Considere una variable categórica.Cylinders

load carsmall Cylinders = categorical(Cylinders); X = table(Displacement,Weight,Cylinders,MPG);

Entrena un conjunto de árboles de regresión en bolsas usando todo el conjunto de datos. Especifique 100 estudiantes débiles y guarde los índices fuera de bolsa.

rng(1); % For reproducibility Mdl = TreeBagger(100,X,'MPG','Method','regression','OOBPrediction','on');

es un conjunto.MdlTreeBagger

Realizar la regresión cuantil, y fuera de la bolsa estimar la MAD de todo el conjunto utilizando las medians condicionales pronosticadas.

oobErr = oobQuantileError(Mdl)
oobErr = 1.5321 

es una estimación imparcial del error de regresión de cuantil para todo el conjunto.oobErr

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible de un automóvil debido a su cilindrada, peso y número de cilindros.

load carsmall X = table(Displacement,Weight,Cylinders,MPG);

Entrena un conjunto de árboles de regresión en bolsas usando todo el conjunto de datos. Especifique 250 estudiantes débiles y guarde los índices fuera de bolsa.

rng('default'); % For reproducibility Mdl = TreeBagger(250,X,'MPG','Method','regression',...     'OOBPrediction','on');

Estimar el acumulado; fuera de bolsa; 0,25, 0,5 y 0,75 errores de regresión cuantil.

err = oobQuantileError(Mdl,'Quantile',[0.25 0.5 0.75],'Mode','cumulative');

es una matriz de 250 por 3 de errores acumulativos, fuera de bolsa, de regresión cuantil.err Las columnas corresponden a las probabilidades de cuantil y las filas corresponden a los árboles del conjunto. Los errores son acumulativos, por lo que incorporan predicciones agregadas de árboles anteriores.

Trace los errores de cuantil acumulados, fuera de bolsa, en el mismo trazado.

figure; plot(err); legend('0.25 quantile error','0.5 quantile error','0.75 quantile error'); ylabel('Out-of-bag quantile error'); xlabel('Tree index'); title('Cumulative, Out-of-Bag, Quantile Regression Error')

Todas las curvas de error cuantil parecen nivelarse después de entrenar alrededor de 50 árboles. Por lo tanto, la formación de 50 árboles parece ser suficiente para lograr un error cuantil mínimo para las tres probabilidades cuantil.

Más acerca de

expandir todo

Sugerencias

El estimador de errores de conjunto fuera de bolsa es imparcial para el verdadero error de conjunto. Por lo tanto, para ajustar los parámetros de un bosque aleatorio, calcule el error de conjunto fuera de bolsa en lugar de implementar la validación cruzada.

Referencias

[1] Breiman, L. Random Forests. Machine Learning 45, pp. 5–32, 2001.

[2] Meinshausen, N. “Quantile Regression Forests.” Journal of Machine Learning Research, Vol. 7, 2006, pp. 983–999.

Introducido en R2016b