function [ret] = perceptron_ennusta(w, X2, Y2)

X2 = [X2, ones(size(X2,1),1)]; % Lisätään testidatan perään vakiotermi, jotta saadaan ei-origon kautta kulkevat hypertasot mukaan.

ennustettavia = length(Y2);
ennuste = zeros(ennustettavia, 1);
disp('Ennustetaan');
for i=1:ennustettavia,
    x = X2(i,:);
    [m, luokka] = max(w * x');
    ennuste(i) = luokka - 1;
%    disp(sprintf('Luokka: %d, Oikea: %d, m: %f', ennuste(i), Y2(i), m));
end

vaarin = sum(sum(ennuste ~= Y2));
disp(sprintf('Oikein: %d, Väärin: %d, Yhteensä: %d, Väärin/Yhteensä: %f', ennustettavia-vaarin, vaarin, ennustettavia, vaarin/ennustettavia));

end