Salut a tous,
Alors voilà, nouveau problème.Je devais prédire des points à l'aide de transformations polynomiales. Jusque là pas de problème, le script fonctionne et je calcule une erreur moyenne quadratique (rms) pour chaque point. Je souhaiterai
maintenant calculer l'erreur mais par validation croisée et plus précisément leave one out.
Je vous mets mon script pr mieux comprendre:
Je poste mon problème ici car l'aide matlab pour ce problème est assez incomplète et il est très difficile d'appliquer les exemples pour mon cas. J'aimerais juste qu'il génère le modèle avec 98 points et qu'il le teste sur la 99e observation. Chaque point doit être testé ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 % load gcp.txt load gcp x = gcp(:,1:2); y = gcp(:,3:4); [xx Mx mx] = scale(x); [yy My my] = scale(y); a = yy(:,1); b = yy(:,2); c = a.*b; one = ones(99,1); T = [a b one]; % obtention de la matrice des coefficents coeff = (M*T)\(M*xx) M = T'; H = inv(M*T)*M; coeff = H*xx; xxp=T*coeff; xp = descale(xxp,Mx,mx); % J'obtiens mes points prédits scatter(xp(:,1),x(:,1)); rms = sqrt(mean(sum((xp-x).^2,2)));
Merci d'avance
Pierrot
Partager