Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
poppy-kine:gmmriemannian [2018/11/29 14:57] m16devan [Code] |
poppy-kine:gmmriemannian [2020/07/03 17:25] mai ↷ Page moved from gmmriemannian to poppy-kine:gmmriemannian |
||
---|---|---|---|
Line 163: | Line 163: | ||
</code> | </code> | ||
Il y a principalement deux choses à modifier dans cette partie. La première et le nombre de type d'erreurs. Dans l'exemple il y a 3 types d'erreurs //[1 2 3]//. La seconde variable à modifier est le chemin vers le dossier où sont stockés les exemples d'erreur //dirTrain//. A l'intérieur de ce dossier, il doit y avoir //n// dossiers appelés //erreur#n// où //#n// est remplacé par le numéro d'erreur. | Il y a principalement deux choses à modifier dans cette partie. La première et le nombre de type d'erreurs. Dans l'exemple il y a 3 types d'erreurs //[1 2 3]//. La seconde variable à modifier est le chemin vers le dossier où sont stockés les exemples d'erreur //dirTrain//. A l'intérieur de ce dossier, il doit y avoir //n// dossiers appelés //erreur#n// où //#n// est remplacé par le numéro d'erreur. | ||
+ | |||
+ | La quatrième partie concerne l'apprentissage du modèle SVM à partir des erreurs: | ||
+ | <code matlab> | ||
+ | % Learning SVM Modèle | ||
+ | for c=1:length(Train{1}) | ||
+ | for bp=1:length(Train{1}{c}.bodypart) | ||
+ | X=[];Y=[]; | ||
+ | for err=1:cptErr | ||
+ | X=[X;Train{err}{c}.bodypart{bp}]; | ||
+ | Y=[Y;err;err]; | ||
+ | end | ||
+ | u=unique(Y); | ||
+ | numClasses=length(u); | ||
+ | for k=1:numClasses | ||
+ | G1vAll=(Y==u(k)); | ||
+ | svmModelsSegmented{c}.bodypart{bp}.models{k} = fitcsvm(X,G1vAll,'KernelScale','auto','Standardize',true); | ||
+ | svmModelsSegmented{c}.exercise=exo; | ||
+ | end | ||
+ | G1vAll=ones(size(G1vAll)); | ||
+ | svmModelsSegmented{c}.bodypart{bp}.errorModel = fitcsvm(X,G1vAll,'KernelScale','auto','Standardize',true); | ||
+ | end | ||
+ | end | ||
+ | </code> | ||
+ | |||
+ | Enfin, la dernière partie permet de sauvegarder le modèle SVM (le nom //fname// peut être modifié) : | ||
+ | <code matlab> | ||
+ | % Save | ||
+ | fname=sprintf('errorFeatures/errorFeaturesModelAssis3Maxime'); | ||
+ | save(fname,'svmModelsSegmented'); | ||
+ | </code> | ||
+ |