OCTAVE TUTORIAL Riesenie systemu linearnych rovnic: x - matica trenovacich prikladov y - vektor cielovych hodnot theta=x'*x\(x'*y) ------ Priklad: Nahodna vstupna matica, 1000 prikladov, 3 atributy: x=rand(1000,3)*10 x(:,4)=1 Cielova matica s pridanim gausovskeho sumu: y=3*x(:,1)-4*x(:,2)+2.3*x(:,3)+7 y=y+randn(1000,1)*5 Zobrazime data: plot3(x(:,1),x(:,2),y,"x") Riesenie: theta=x'*x\(x'*y) theta = 2.9934 -4.0628 2.3716 7.1284 Skusime predpovedat hodnoty: yy=x*theta plot(y,yy,"x") plot(y-yy,"x") mean(y-yy) mean(abs(y-yy)) std(y-yy) ---------------------------------- Priklad 2: skutocne data Data o cenach domov v Bostone 13 atributov 1 cielova hodnota 506 prikladov x=load housing.data; y=x(:,14); x(:,14)=1; plot3(x(:,4),x(:,13),y,"x") theta=x'*x\(x'*y) yy=x*theta; plot3(x(:,4),x(:,13),y,"x",x(:,4),x(:,13),yy,"o") mean(y-yy); mean(abs(y-yy)); mean(abs(y-yy)/mean(y)); ----------------------------------