Salut,
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.