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.

loss

Error de regresión para el modelo de regresión de proceso Gaussiano

Sintaxis

L = loss(gprMdl,Xnew,Ynew)
L = loss(gprMdl,Xnew,Ynew,Name,Value)

Descripción

L = loss(gprMdl,Xnew,Ynew) Devuelve el error medio cuadrado para el modelo de regresión del proceso Gaussiano (GPR), utilizando los predictores en y la respuesta observada en.gprXnewYnew

L = loss(gprMdl,Xnew,Ynew,Name,Value) Devuelve el error medio cuadrado del modelo GPR, con opciones adicionales especificadas por uno o más argumentos de par.gprName,Value Por ejemplo, puede especificar una función de pérdida personalizada o las ponderaciones de observación.

Argumentos de entrada

expandir todo

Modelo de regresión de proceso Gaussiano, especificado como un objeto (completo) o (compacto).RegressionGPCompactRegressionGP

Los nuevos datos, especificados como una o una por matriz, donde es el número de observaciones, y es el número de variables predictoras en los datos de entrenamiento.tablendmd

Si ha entrenado en un, entonces debe ser un que contiene todas las variables predictoras utilizadas para entrenar.gprMdltableXnewtablegprMdl

Si es una tabla, entonces también puede contener.XnewYnew Y si lo hace, entonces usted no tiene que especificar.Ynew

Si ha entrenado en una matriz, debe ser una matriz numérica con columnas y solo puede contener valores para las variables predictoras.gprMdlXnewd

Tipos de datos: single | double | table

Nuevos valores de respuesta observados, que corresponden a los valores predictores en, especificados como un vector-por-1. es el número de filas en.XnewnnXnew Cada entrada es la respuesta observada basada en los Datos predictores en la fila correspondiente de.YnewXnew

Si es una tabla que contiene nuevos valores de respuesta, no tiene que especificar.XnewYnew

Tipos de datos: single | double

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

Función de pérdida, especificada como (error medio cuadrado) o un manejador de función.'mse'

Si pasa un identificador de función, digamos, lo llama como se muestra a continuación:, donde, y son vectores numéricos de longitud, y es el número de filas en. es la respuesta observada, es la respuesta pronosticada, y son los pesos de observación.funlossfun(Y,Ypred,W)YYpredWnnXnewYYpredW

Ejemplo: llama a la función de pérdida.'lossfun',FctFct

Tipos de datos: char | string | function_handle

Ponderaciones de observación, especificadas como vector-por-1, donde es el número de filas en.nnXnew Por defecto, el peso de cada observación es 1.

Ejemplo: utiliza los pesos de observación en Vector.'weights',WW

Tipos de datos: double | single

Argumentos de salida

expandir todo

Error de regresión para el modelo de regresión de proceso Gaussiano entrenado, devuelto como un valor escalar.gprMdl

Ejemplos

expandir todo

Cargue los datos de ejemplo.

load(fullfile(matlabroot,'examples','stats','gprdata.mat'))

Los datos tienen 8 variables predictoras y contienen 500 observaciones en los datos de entrenamiento y 100 observaciones en los datos de prueba. Se trata de datos simulados.

Ajuste un modelo GPR utilizando la función de kernel exponencial cuadrada con escalas de longitud separadas para cada predictor. Estandarice los valores predictores en los datos de entrenamiento. Utilice el método exacto para el ajuste y la predicción.

gprMdl = fitrgp(Xtrain,ytrain,'FitMethod','exact',... 'PredictMethod','exact','KernelFunction','ardsquaredexponential',... 'Standardize',1);

Calcule el error de regresión para los datos de prueba.

L = loss(gprMdl,Xtest,ytest)
L = 0.6928 

Predecir las respuestas de los datos de prueba.

ypredtest = predict(gprMdl,Xtest);

Trace la respuesta de prueba junto con las predicciones.

figure; plot(ytest,'r'); hold on; plot(ypredtest,'b'); legend('Data','Predictions','Location','Best');

Calcule manualmente la pérdida de regresión.

L = (ytest - ypredtest)'*(ytest - ypredtest)/length(ytest)
L = 0.6928 

Cargue los datos de muestra y almacene en un.table

load fisheriris tbl = table(meas(:,1),meas(:,2),meas(:,3),meas(:,4),species,... 'VariableNames',{'meas1','meas2','meas3','meas4','species'});

Ajuste un modelo GPR utilizando la primera medida como la respuesta y las otras variables como los predictores.

mdl = fitrgp(tbl,'meas1');

Predecir las respuestas utilizando el modelo entrenado.

ypred = predict(mdl,tbl);

Calcule el error absoluto medio.

n = height(tbl); y = tbl.meas1; fun = @(y,ypred,w) sum(abs(y-ypred))/n; L = loss(mdl,tbl,'lossfun',fun)
L = 0.2345 

Alternativas

Puede utilizar resubLoss para calcular el error de regresión para el modelo GPR entrenado en las observaciones de los datos de entrenamiento.

Capacidades ampliadas

Introducido en R2015b