?? svmfh.m
字號:
%把一個樣本抽出做測試,用剩余的樣本構造支持向量機,統計誤差,以檢驗泛化能力
clear
%load data3;%載入原始數據XX和YY
XX=[975.13,1033.51,1177.26,1183.62,1276.42,1393.35,1486.99,1592.47,1659.47,1653.55,1740.31,1782.36,1601.8,1838.65,1822.88,1844.78,1843.04,1920.55,1858.14,1830.26,1827.37,1923.11,2114.41,2104.93,2172.73,2148.64,2202.59,2228.14;4.05,4.12,4.31,4.65,4.98,5.18,5.26,5.39,5.44,5.48,5.57,5.62,5.71,5.73,5.79,5.86,5.93,6.01,6.29,7.18,7.2,7.29,7.51,7.55,7.39,7.55,7.61,7.66;568,626,674,797,877,949,1125,1443,1653,2099,2862,3488,3872,4639,6130,9670,13656,13753,16057,18546,20317,21829,23823,25487,27630,30174,33904,35676;273,300,348,416,457,487,591,737,809,999,1349,1589,1763,2041,2557,3633,5355,6787,7990,9179,10066,10797,11601,12362,13497,14953,17218,18621;91,105,464,1906,1612,2120,20097,37681,6456,11753,46260,90258,116183,144871,635101,1136617,717946,890647,653572,453751,500150,489996,431373,500717,694419,725117,754307,855700;100,102.8,108.2,111.2,115,116.4,118.9,132.3,140.9,154.2,195,231.9,230.3,238.3,252.4,291.3,364.9,420.4,445.2,452.8,451.4,447.4,456.8,450.9,448.6,452.2,470.2,480.5;100,103,108.8,112.7,116.7,118.3,120.2,133.8,142.3,156.1,198.8,235.8,232.5,240.2,253.4,287.4,353.5,404.4,422.6,421.8,416.9,402.3,397.9,408.3,406.5,410.1,412.3,415.4;66.37,74.11,87.06,105.62,117.81,127.76,157.06,200.48,222.54,279.24,383.21,458.4,522.28,619.87,784.68,1128.29,1675.66,2145.92,2560.05,2974.5,3286.56,3550.24,3920.07,4253.68,4682.01,5223.01,6053.14,6560.07;7,8.72,10.33,8.69,11.16,11.83,14.57,26.76,29.08,35.6,37.28,33.77,38.18,48.19,70.86,118.25,176.63,213.96,241.19,274.18,343.63,363.65,334.59,364.14,408.53,483.34,581.68,694.33;23.93,27.97,31.95,39.3,44.24,47.27,55.72,68.13,72.24,89.24,118.16,135.77,147.01,168.64,194.87,254.36,362.9,464.82,537.38,576.63,610.04,628.86,640.57,651.11,664.78,692.94,787.29,828.76;28.19,31.37,35.68,39.75,42.96,46.05,56.39,72.56,83.19,101.28,141.82,163.82,174.47,217.74,291.6,463.93,739.52,910.56,1065.79,1267.64,1401.11,1507.29,1711.16,1904.21,2159.94,2483.57,2950.33,3224.91;14.25,14.77,19.43,26.57,30.65,34.44,44.95,59.79,68.11,88.72,123.23,158.81,200.8,233.49,298.21,410,573.24,770.54,956.88,1130.23,1275.41,1414.09,1568.34,1698.36,1857.29,2046.5,2315.52,2506.4;23.85,26.2,29.55,33.16,35.25,37.76,47.47,62.09,67.06,82.69,120.45,142.45,150.55,188.29,241.78,387.92,629.99,764.64,895.9,1066.29,1165.13,1268.95,1470.07,1645.34,1882.55,2137.84,2532.68,2869.57;0.13,0.87,1.42,2.07,3.7,3.7,2.73,3.44,6.61,9.41,14.27,15.94,18.9,26,36.72,48.83,57.59,65.38,71.37,76.97,71.97,72.68,83.15,87.04,110.28,141.9378,181.3228,195.86;1.9,2.51,3.61,4.01,1.8,1.94,3.92,5.57,6.86,9.04,14.16,18.28,24.49,31.47,43.87,51.59,64.3,79.08,83.83,102.56,99.64,103.52,129.08,139.22,173.71,211.3173,289.5214,348.45;2.03,3.38,5.03,6.08,5.51,5.64,6.65,9.01,13.48,18.45,28.43,34.22,43.39,57.48,80.59,100.42,121.9,144.46,155.2,179.53,171.61,176.2,212.23,226.26,283.99,353.2551,470.84,544.31;0.12,0.14,0.14,0.15,0.16,0.19,0.25,0.33,0.41,0.46,0.5,0.53,0.5,0.66,0.64,0.47,0.43,0.37,0.4,0.42,0.44,0.5,1.12,1.14,1.02,1.33,1.42,1.51;19.08,19.46,19.78,20.96,21.2,21.26,21.31,21.35,21.3,21.32,21.34,21.3,21.36,23.74,36.71,38.45,39.73,40.65,41.29,41.29,41.32,41.35,41.57,42.5,44.6,45.1,46,47.3;924.41,953.71,963.75,1001.74,1027.96,1056.72,1101.82,1152.09,1188.93,1237.74,1281.07,1301.81,1348.38,1436.5,1489.61,1531.42,1553.57,1567.39,1594.36,1613.41,1621.88,1630.85,1660.19,1677.79,1711.32,1756.71,1814.03,1867.49;];
YY=[4.4,10.8,8.4,5.3,4,3.6,2.6,2.1,2,1.9,2.4,2.9,2.6,2.2,1.9,1.91,1.9,1.9,1.91,1.9,2.1,2.3,2.6,3.8,4.2,4.1,4,4;];
dYY=max(YY)-min(YY);
N=size(XX,2);
Err1=zeros(1,N);%絕對誤差
Err2=zeros(1,N);%相對誤差
ALPHA=zeros(N,N-1);
FLAG=zeros(N,N-1);
BB=zeros(1,N);
Epsilon=0.002;
C=4;
TKF=4;
for i=1:N
if i==1
x=XX(:,1);
y=YY(1);
X=XX(:,2:N);
Y=YY(:,2:N);
elseif i==N
x=XX(:,N);
y=YY(N);
X=XX(:,1:(N-1));
Y=YY(:,1:(N-1));
else
x=XX(:,i);
y=YY(i);
X=[XX(:,1:(i-1)),XX(:,(i+1):end)];
Y=[YY(:,1:(i-1)),YY(:,(i+1):end)];
end
[Alpha1,Alpha2,Alpha,Flag,B]=SVMNR(X,Y,Epsilon,C,TKF);
ALPHA(i,:)=Alpha;
FLAG(i,:)=Flag;
BB(i)=B;
y0=Regression(Alpha,Flag,B,X,Y,TKF,x);
Err1(i)=y0-YY(i);
Err2(i)=Err1(i)/YY(i);
end
sum(abs(Err2))/N
figure(1)
hist(abs(Err2))
figure(2)
stem(abs(Err2))
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -