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] (current) 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> | ||
| + | |||