fitrkernel函数的用法

本文介绍了MATLAB 2019环境下fitrkernel函数的使用,该函数利用高斯核进行非线性回归,尤其适用于大规模数据集。通过建立数据与高斯核的关系,实现低维到高维的映射,从而进行线性回归。内容涵盖数据读取、损失函数、预测及模型优化,并讨论了交叉验证和核函数的选择。
摘要由CSDN通过智能技术生成

fitrkernel函数的用法
环境:matlab 2019
1.功能
采用高斯核实现非线性回归,对大规模数据集较为实用,也可用于小样本数据集,通过高斯核实现低维数据到高维数据的映射,从而实现高维空间的线性回归(其他的线性回归包括支持向量机SVM和最小二乘)`
2.代码调用过程
datastore函数建立了文件位置与变量间的联系,此外还可建立与单个文件,每一系列文件以及整个文件夹中的位置;
tall 为转换数据为tall ,从而解决内存不能容纳的中转数据

varnames = {'ArrTime','DepTime','ActualElapsedTime'};
ds = datastore('airlinesmall.csv','TreatAsMissing','NA',...
    'SelectedVariableNames',varnames);
t = tall(ds);
daytime = t.ArrTime>t.DepTime;
Y = t.ActualElapsedTime(daytime);     % Response data
X = t{daytime,{'DepTime' 'ArrTime'}}; % Predictor data
Z = zscore(X); % Standardize the data
[Mdl,FitInfo] = fitrkernel(Z,Y)

loss 损失函数可用于预测MSE的值
predict 利用训练好Mdl,传递信的预测变量,从而预测的响应变量的值
resume 通过Mdl与补充数据集,继续训练模型,提高模型的泛化能力。
3. 交叉验证核函数回归

load carbig;
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight];
Y = MPG;
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5); 
Y = R(:,end); 
Z = zscore(X);
Mdl = fitrkernel(Z,Y,'Kfold',5)
kfoldLoss(Mdl,'mode','individual')

4. 优化核函数
datasample为随机采用取样函数,其中

load carbig;
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight];
Y = MPG;
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5); 
Y = R(:,end); 
Z = zscore(X);
rng('default')
[Mdl,FitInfo,HyperparameterOptimizationResults] = fitrkernel(Z,Y,'OptimizeHyperparameters','auto',...    'HyperparameterOptimizationOptions',struct('AcquisitionFunctionName','expected-improvement-plus'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值