主要内容

resubLoss

再置换回归损失

    描述

    例子

    l= resubLoss (Mdl通过再替换(L)返回回归损失,或样本内回归损失,用于训练的回归模型Mdl使用存储在Mdl。X并将相应的响应存储在Mdl。Y

    的解释l取决于损失函数(“LossFun”)及加权方案(Mdl。W).一般来说,更好的模型产生更小的损失值。默认的“LossFun”值是mse的(均方误差)。

    例子

    l= resubLoss (Mdl名称,值使用一个或多个名称-值参数指定其他选项。例如,“IncludeInteractions”,假的指定从广义可加性模型中排除交互项Mdl

    例子

    全部折叠

    训练一个广义可加性模型(GAM),然后利用均方误差(MSE)计算再替代损失。

    加载病人数据集。

    负载病人

    创建一个包含预测变量的表(年龄舒张压吸烟者重量性别SelfAssessedHealthStatus)和响应变量(收缩压).

    tbl = table(年龄,舒张,吸烟,体重,性别,自我评估健康状况,收缩压);

    训练一个单变量GAM,其中包含预测器的线性项资源描述

    Mdl = fitrgam(tbl,“收缩”
    Mdl = RegressionGAM PredictorNames: {1x6 cell} ResponseName: '收缩期'分类预测器:[3 5 6]ResponseTransform: 'none'拦截:122.7800 IsStandardDeviationFit: 0 NumObservations: 100属性,方法

    Mdl是一个RegressionGAM模型对象。

    利用均方误差(MSE)计算再置换损失。

    L = resubLoss(Mdl)
    L = 4.1957

    加载样例数据并存储在表格

    负载fisheriris台=表(量(:1),量(:,2),(:,3),(4):,,,...“VariableNames”, {“meas1”“meas2”“meas3”“meas4”“物种”});

    用第一个测量值作为响应,其他变量作为预测因子,拟合探地雷达模型。

    MDL = fitrgp(tbl,“meas1”);

    使用训练过的模型预测响应。

    Ypred = predict(mdl,tbl);

    计算平均绝对误差。

    N = height(tbl);Y = tbl.meas1;Fun = @(y,ypred,w) sum(abs(y-ypred))/n;L = resubLoss(mdl,“lossfun”有趣的)
    L = 0.2345

    训练一个广义加法模型(GAM),它包含预测因子的线性项和交互项,并估计训练数据和测试数据有和没有交互项的回归损失(均方误差,MSE)。指定在估计回归损失时是否包括相互作用项。

    加载carbig数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。

    负载carbig

    指定加速度位移马力,重量作为预测变量(X),英里/加仑作为响应变量(Y).

    X =[加速度,排水量,马力,重量];Y = mpg;

    将数据集划分为两个集:一个包含训练数据,另一个包含新的、未观察到的测试数据。为新的测试数据集保留10个观测值。

    rng (“默认”%用于再现性n = size(X,1);newInds = randsample(n,10);inds = ~ismember(1:n,newInds);XNew = X(newInds,:);YNew = Y(newInds);

    训练一个包含所有可用的线性和交互项的广义可加性模型X

    Mdl = fitrgam(X(inds,:),Y(inds),“互动”“所有”);

    Mdl是一个RegressionGAM模型对象。

    计算有和没有相互作用项的再置换mse(即样本内mse)Mdl.要排除交互术语,请指定“IncludeInteractions”,假的

    resubl = resubLoss(Mdl)
    Resubl = 0.0292
    resubl_nointeraction = resubLoss(Mdl,“IncludeInteractions”假)
    resubbl_nointeraction = 4.7330

    对测试数据集计算有或没有交互项的回归mse。使用内存效率高的模型对象进行计算。

    CMdl =紧凑(Mdl);

    CMdl是一个CompactRegressionGAM模型对象。

    l = loss(CMdl,XNew,YNew)
    L = 12.8604
    l_nointeraction = loss(CMdl,XNew,YNew,“IncludeInteractions”假)
    L_nointeraction = 15.6741

    包含交互项可以使训练数据集和测试数据集的误差更小。

    输入参数

    全部折叠

    回归机器学习模型,指定为完整的回归模型对象,如下表所示的支持模型。金宝app

    模型 回归模型对象
    高斯过程回归模型 RegressionGP
    广义加法模型(GAM) RegressionGAM
    神经网络模型 RegressionNeuralNetwork

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

    在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

    例子:resubLoss (Mdl IncludeInteractions,假)从广义相加模型中排除交互项Mdl

    标志,以包括模型的交互术语,指定为真正的.这个论证只对广义加法模型有效。也就是说,您只能在以下情况下指定此参数MdlRegressionGAM

    默认值为真正的如果Mdl包含交互术语。取值必须为如果模型不包含交互项。

    例子:“IncludeInteractions”,假的

    数据类型:逻辑

    损失函数,指定为mse的或者一个函数句柄。

    • mse的-加权均方误差。

    • 函数句柄——要指定自定义损失函数,请使用函数句柄。函数必须是这样的形式:

      lossval =lossfun(Y, YFit W)

      • 输出参数lossval是浮点标量。

      • 您可以指定函数名(lossfun).

      • Y是一个长度n所观察到的响应的数字向量,其中n观察的数量在吗资源描述X

      • YFit是一个长度n对应预测响应的数字向量。

      • W是一个n-by-1观测权重的数值向量。

    例子:“LossFun”@lossfun

    数据类型:字符|字符串|function_handle

    更多关于

    全部折叠

    加权均方误差

    加权均方误差衡量回归模型的预测不准确性。当你在多个模型中比较相同类型的损失时,误差越低表明预测模型越好。

    加权均方误差计算如下:

    均方误差 j 1 n w j f x j y j 2 j 1 n w j

    地点:

    • n是数据的行数。

    • xjj第Th行数据。

    • yj是真实的回应吗xj

    • fxj是模型的响应预测吗Mdlxj

    • w是观测权重的向量。

    算法

    resubLoss计算相应的回归损失损失对象的函数(Mdl).有关特定于模型的描述,请参见损失下表中的函数参考页。

    模型 回归模型对象(Mdl 损失目标函数
    高斯过程回归模型 RegressionGP 损失
    广义加性模型 RegressionGAM 损失
    神经网络模型 RegressionNeuralNetwork 损失

    选择功能

    要计算新的预测器数据的响应损失,请使用相应的损失对象的函数(Mdl).

    版本历史

    R2021a中引入

    另请参阅