function [reussite, echec] = crossVal(data,classe) % data = la matrice contenant les données, chaque ligne est une donnée et % chaque colonne une caractéristique % classe = les numéros de classe correspondant pour chaque point. % Commencant par 1 et avec des numéros qui se suivent. % % reussite = le taux de reussite pour chaque lancée % echec = le taux d'echec pour chaque lancée % % prog par Luh Yen, mars 2007 % % avoir le nombre de données et de paramètres [nb_dat,nb_param] = size(data); % le nombre de classe nb_clu = max(classe); % deux vecteurs qui vont contenir le taux de réussite et d'échec reussite = []; echec = []; % le nb de point par lancée (10 en tout) nb_part = floor(nb_dat/10) % mélange aléatoire d'ordre des données liste = randperm(nb_dat); deb = 1; for i = 1 : 10 % le bloc test set test = data(liste(deb:(deb+nb_part-1)),:); cl_test = classe(liste(deb:(deb+nb_part-1))); % le bloc training set train = data(liste([1:(deb-1)(deb+nb_part):end]),:); cl_train = classe(liste([1:(deb-1)(deb+nb_part):end])); %%%%%%%%%%%%%%%%%%% ici que vous ajouter le code pour le training %%%%%%%%%%%%%%%%%%% ici que vous ajouter le code pour le test cl_find = %%%%%%%%% nb_reu = length(find(cl_find==cl_test)); nb_ech = length(cl_find) - reu; reussite = [reussite nb_reu/nb_part]; echec = [echec nb_ech/nb_part]; deb = deb+nb_part; end