-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathperform_cross_validation.m
More file actions
49 lines (32 loc) · 876 Bytes
/
perform_cross_validation.m
File metadata and controls
49 lines (32 loc) · 876 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function [med,des] = perform_cross_validation(X,Y,C,pc,m,c)
%med: error medio des: desviación estandar del error
%C: # de veces que hago validación cruzada
%m: cuantos puntos voy a usar en la validación cruzada
%c: puntos de corte
[M,N] = size(X);
for k = 1:C
P = randperm(M);
X = X(P,:);
Y = Y(P,:);
%Para entrenamiento
Xr = X(1:m,:);
Yr = Y(1:m,:);
W = zeros(m,pc);
for i = 1:m
xi = Xr(i,:);
W(i,:) = fsubs(xi,c);
end
B = solve_system(W,Yr);
Xv = X(m+1:M,:);
Yv = Y(m+1:M,:);
mv = M-m-1+1;
Wv = zeros(mv,pc);
for i = 1:mv
xi = Xv(i,:);
Wv(i,:) = fsubs(xi,c);
end
E(k) = norm(Yv-Wv*B);
end
med = mean(E);
des = std(E);
end