文件帮助中心文件
失利
预测
班级:PeazereSentionncarebortion
使用邻域分量分析(NCA)回归模型的响应
ypred = predict(mdl,x)
ypred = predict(mdl,x)计算预测的响应值,ypred.,对应于行的行X,使用模型MDL.。
ypred.
X
MDL.
展开全部
PeazereSentionncarebortion
回归的邻域组件分析模型,指定为aPeazereSentionncarebortion目的。
预测值变量值,指定为一个N-经过-P.矩阵,其中N是观察人数和P.是预测变量的数量。
数据类型:单身的|双倍的
单身的
双倍的
预测响应值,指定为一个N-1 vector,在哪里N是观察人数。
加载样本数据。
从UCI机器学习存储库[2]从UCI机器学习存储库下载“住房数据”[1]。数据集有506个观察结果。第一个13列包含预测值值,最后一列包含响应值。目标是预测郊区波士顿的所有者被占领房屋的中位数,作为13个预测因子的函数。
加载数据并定义响应矢量和预测器矩阵。
加载('housent.data');x =住房(:,1:13);Y =住房(:,结束);
将数据除以培训和测试集使用第4个预测器作为分层分区的分组变量。这确保了每个分区包括来自每组的类似的观察量。
RNG(1)重复性的%cvp = cvpartition(x(:,4),'坚持',56);xtrain = x(cvp.training,:);ytrain = y(cvp.training,:);xtest = x(cvp.test,:);ytest = y(cvp.test,:);
CVPartition.随机分配56个观察到测试集和其余数据到培训集中。
CVPartition.
使用默认设置执行功能选择
使用NCA模型进行回归执行功能选择。标准化预测值值。
NCA = FSRNCA(XTrain,Ytrain,'标准化',1);
绘制特征权重。
图()绘图(nca.featurewuights,'ro')
预期无关的特征的重量将接近零。FSRNCA.将两个功能识别为无关紧要。
FSRNCA.
计算回归丢失。
l =损失(NCA,XTEST,YTEST,'损失'那'疯狂的')
L = 2.5394.
计算测试集的预测响应值,并绘制它们与实际响应。
Ypred =预测(NCA,XTEST);图()绘图(Ypred,Yest,'博')xlabel('预测回应')ylabel('实际反应')
完美的适合与实际值形成45度直线。在此绘图中,预测和实际响应值似乎分散在这条线上。调整 λ. (正则化参数)值通常有助于提高性能。
使用10倍交叉验证调整正则化参数
调整 λ. 意味着找到 λ. 值将产生最小回归损耗。以下是调整的步骤 λ. 使用10倍交叉验证:
1.首先将数据分为10倍。每折,CVPartition.将数据作为培训集分配1/10,以及作为测试集的数据9/10。
n =长度(YTrain);cvp = cvpartition(xtrain(:,4),'kfold',10);numvalidsets = cvp.numtestsets;
分配 λ. 搜索的值。创建一个数组以存储丢失值。
lambdavals = linspace(0,2,30)* std(ytrain)/ n;lockvals = zeros(长度(lambdavals),numvalidsets);
2.培训各个邻域分量分析(NCA)模型 λ. 使用每个折叠中设置的训练的价值。
3.使用所选功能拟合高斯进程回归(GPR)模型。接下来,使用GPR模型计算折叠中的相应测试的回归损耗。记录损失值。
4.对每个人重复这个 λ. 价值和每个折叠。
为了i = 1:长度(lambdavals)为了k = 1:numvalidsets x = xtrain(cvp.tring(k),:);y = ytrain(cvp.tring(k),:);xvalid = xtrain(cvp.test(k),:);yvalid = ytrain(cvp.test(k),:);nca = fsrnca(x,y,'fitmethod'那'精确的'那......'lambda',lambdavals(i),......'标准化',1,'损失'那'疯狂的');%选择特征权重和相对的特征% 临界点。tol = 1e-3;selidx = nca.featureweights> tol * max(1,max(nca.featuress));%使用所选功能拟合非ARD GPR模型。gpr = fitrgp(x(:,selidx),y,'标准化',1,......'骨箱'那'squaredExponential'那'verbose',0);损失(i,k)=损失(gpr,xvalid(:,selidx),yvalid);结尾结尾
计算每个折叠的平均损耗 λ. 价值。绘制平均损失与 λ. 价值观。
Meanloss =卑鄙(损失,2);数字;情节(Lambdavals,Meanloss,'ro-');Xlabel('lambda');ylabel('损失(MSE)');网格上;
找出 λ. 产生最小损耗值的值。
[〜,Idx] = min(meanloss);Bestlambda = Lambdavals(IDX)
Bestlambda = 0.0251.
使用最好的回归执行功能选择 λ. 价值。标准化预测值值。
nca2 = fsrnca(Xtrain,Ytrain,'标准化',1,'lambda',bestlambda,......'损失'那'疯狂的');
使用新的NCA模型在测试数据上计算丢失,该模型不用于选择要素。
L2 =损耗(NCA2,XTEST,YEST,'损失'那'疯狂的')
l2 = 2.0560.
调整正则化参数有助于识别相关功能并降低损耗。
绘制测试集中的预测与实际响应值。
Ypred =预测(NCA2,XTEST);数字;情节(Ypred,Ytest,'博');
预测的响应值似乎也更接近实际值。
参考
[1]哈里森,D。和D.L.,Rubinfeld。“惠丹价格和清洁空气的需求。”J. Environ。经济与管理。Vol.5,1978,PP。81-102。
[2] Lichman,M. UCI机器学习存储库,Irvine,CA:加州大学,信息学院,2013年信息学院。Https://Archive.ics.uci.edu/ml。
PeazereSentionncarebortion|FSRNCA.|失利|改装
改装
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室