Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre régulier
    SVM Weka's sequential minimal optimization implementation
    Bonjour,
    Je débute avec Weka. Je veux tester la classification de textes avec SVM( Weka's sequential minimal optimization implementation).
    Quelqu'un pourrait-il m'aider à démarrer?

  2. #2
    Membre régulier
    J'ai débuté avec ce code:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    public class SVMTest {
     
     
    public static void test(File input) throws Exception{
    	File tmp = new File("tmp-file-duplicate-pairs.arff");
    	String path = input.getParent();
    	//tmp.deleteOnExit();
    	////removeFeatures(input,tmp,useType,useNames, useActivities, useOccupation,useFriends,useMailAndSite,useLocations);
    	Instances data = new weka.core.converters.ConverterUtils.DataSource(tmp.getAbsolutePath()).getDataSet();
    	data.setClassIndex(data.numAttributes() - 1);
    	Classifier c = null;		
    	String ctype = null;
    	boolean newmodel = false;
     
    	ctype ="SMO";
    	c = new SMO();
    	String[] options = {"-M"};
    	c.setOptions(options);
    	c.buildClassifier(data);
    	newmodel = true;
    	//c = loadClassifier(input.getParentFile().getParentFile(),ctype);
    	if(newmodel)
    		saveModel(c,ctype, input.getParentFile().getParentFile());
    	Evaluation eval = new Evaluation(data);
    	eval.crossValidateModel(c, data, 10, new Random(1));
     
    	System.out.println(c);
    	System.out.println(eval.toSummaryString());
    	System.out.println(eval.toClassDetailsString());
    	System.out.println(eval.toMatrixString());
     
    	tmp.delete();
    }
    private static void saveModel(Classifier c, String name, File path) throws Exception {
     
    	ObjectOutputStream oos = null;
    	try {
    		oos = new ObjectOutputStream(
    				new FileOutputStream(path.getAbsolutePath()+"/"+name+".model"));
    	} catch (FileNotFoundException e1) {
    		e1.printStackTrace();
    	} catch (IOException e1) {
    		e1.printStackTrace();
    	}
    	oos.writeObject(c);
    	oos.flush();
    	oos.close();
     
    }
    }

    Mais mon problème pour le moment se présente comme suit:
    comment convertir mon dataset, qui est sous forme d'un ensemble des fichiers XML, au format .arff