Bonjour,
je sis en train de dévélopper une application permettant la reconnaissance des formes en java.j'utilise le classifieur Kppv, après le traitement des image je dois faire apprendre mon classifieur pour qu'il puisse les reconnaitre.pour cette raison ils m'ont dit que je dois utiliser le weka.
j'ai cherché sur internet sur la façon avec laquelle je peux l'exploiter dans mon application mais je n'ai arrivé à les comprendre à 100%.
si quelqu'un a utilisé le weka ou sait comment il peut etre utiliser ou a des documents utiles me répond.
merci d'avance pour votre aide.

merci bien pour votre aide, j'ai vraiment trop besoin de cette explication.j'ai compris ce que vous avez ecrit sauf que je veux savoir a quoi sert les matrices des images qui ne sont pas des chiffres.
en plus apres la construction des instances, svp,pouvez-vous m'expliquer ce que je dois ferai.
pour le code je vous donner un exemple sur comment je fais les instances disez moi si c'est juste donc je continue sinon envoyez moi le code que vous parait le meilleur pour resoudre mon probleme :
avant tout je fais une classe par exemple je l'appelle "instances", puis je declare les attributs, qui sont en fait les nombres des 1 pour chaque colonne pour la projection horizontale et pour chaque ligne pour la projection verticale, via l'instruction :
public class instances{
public instances() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
String result;
public instances(float[]car) {
Attribute Attribute1 = new Attribute("projection horizontale 0");
Attribute Attribute2 = new Attribute("projection horizontale 1");
......//jusqu'à la fin des attributs de la projection horizontale.
Attribute Attribute31 = new Attribute("projection verticale 0");
Attribute Attribute32 = new Attribute("projection verticale 1");
......//jusqu'à la fin des attributs de la projection verticale.
puis je declare une autre classe ou je mettrai les 10classes que j'ai(pour chaque chiffre je fais une classe par exemple classe 1 pour les 1, classe 2 pour le 2.....):
FastVector fvClassVal = new FastVector(10);
fvClassVal.addElement("classe1");
fvClassVal.addElement("classe2");
fvClassVal.addElement("classe3");
..................
Attribute ClassAttribute = new Attribute("theClass", fvClassVal);
par la suite j'ajouterai les attributs a la classe adéquate :
par exemple la classe des 1 contient 10 formes differents :
FastVector fvWekaAttributes = new FastVector(60);//car on 3Oattributs pour l'Horizontale et 3O pour verticale
fvWekaAttributes.addElement(Attribute1);
fvWekaAttributes.addElement(Attribute2);
.............
fvWekaAttributes.addElement(Attribute31);
fvWekaAttributes.addElement(Attribute32);
.............
fvWekaAttributes.addElement(ClassAttribute);
// Create an empty training set
Instances isTrainingSet = new Instances("Rel", fvWekaAttributes, 10);
// Set class index
isTrainingSet.setClassIndex(60);
// Create the first instance
Instance iExample = new Instance(61);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(0),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(1),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(2),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(3),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(4),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(5),3);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(6),10);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(7),12);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(8),7);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(9),5);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(10),5);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(11),6);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(12),4);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(13),5);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(14),5);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(15),4);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(29),0);//fin attributs horizontale
iExample.setValue((Attribute)fvWekaAttributes.elementAt(30),0);//debut attribut verticale
iExample.setValue((Attribute)fvWekaAttributes.elementAt(31),0);
............
iExample.setValue((Attribute)fvWekaAttributes.elementAt(59),0);
iExample.setValue((Attribute)fvWekaAttributes.elementAt(60), "classe1");
ainsi de suite pour les autres classes.
// add the instance
isTrainingSet.add(iExample);//pour la classe 1.
....
si ce code vous parait bien fait disez moi comment je le continuerai et comment je fabriquerai mon classifier par rapport "instances".
SVP, meme ce code cava pouvez vous m'envoyer votre code pour plus d'information peut etre il me parait le plus adéquat pour mon application.
merci d'avance.
je cherche le code et je t'envoie mes résultats je pense fin de semaine prochaine, car je suis pas mal occupé avant.
Buddha
j'ai besoin d'aide pour fair un rapport sur le fonctionnement des clasifieurs weka si tu peux m'aider je sera reconaissante.
merci