source: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDtrainPPM.java @ 4

Last change on this file since 4 was 4, checked in by sherbold, 13 years ago
  • minor fixes
File size: 1.6 KB
Line 
1package de.ugoe.cs.eventbench.commands;
2
3import java.security.InvalidParameterException;
4import java.util.List;
5
6import de.ugoe.cs.eventbench.data.Event;
7import de.ugoe.cs.eventbench.data.GlobalDataContainer;
8import de.ugoe.cs.eventbench.ppm.PredictionByPartialMatch;
9import de.ugoe.cs.util.console.Command;
10import de.ugoe.cs.util.console.Console;
11
12public class CMDtrainPPM implements Command {
13
14        @Override
15        public void help() {
16                Console.println("Usage: trainPPM <modelName>");
17        }
18
19        @SuppressWarnings("unchecked")
20        @Override
21        public void run(List<Object> parameters) {
22                String modelname;
23                try {
24                        modelname = (String) parameters.get(0);
25                } catch (Exception e) {
26                        throw new InvalidParameterException();
27                }
28               
29                List<List<Event<?>>> sequences = null;
30                Object dataObject = GlobalDataContainer.getInstance().getData("sequences");
31                       
32                try {
33                        sequences = (List<List<Event<?>>>) dataObject;
34                        if( sequences.size()>0 ) {
35                                if( sequences.get(0).get(0) instanceof Event ) {
36                                        PredictionByPartialMatch model = new PredictionByPartialMatch();
37                                        model.train(sequences);
38                                        if( GlobalDataContainer.getInstance().addData(modelname, model) ) {
39                                                Console.traceln("Old model overwritten");
40                                        }
41                                        // TODO TMP!!
42                                        model.randomSequence();
43                                       
44                                } else {
45                                        Console.traceln("Illegal use of \"sequences\" parameter in the GlobalDataContainer.");
46                                        Console.traceln("The parameter should always be of type List<List<Event>>!");
47                                }
48                        }
49                }
50                catch(ClassCastException e) {
51                        Console.println("Sequences need to be loaded first using parseXML");
52                }
53        }
54
55}
Note: See TracBrowser for help on using the repository browser.