source: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/usage/CMDtrainMarkovModel.java @ 733

Last change on this file since 733 was 733, checked in by sherbold, 12 years ago
  • refactored command packages in quest-ui-core
File size: 1.4 KB
Line 
1package de.ugoe.cs.quest.commands.usage;
2
3import java.util.List;
4import java.util.Random;
5
6import de.ugoe.cs.quest.usageprofiles.FirstOrderMarkovModel;
7import de.ugoe.cs.quest.usageprofiles.HighOrderMarkovModel;
8import de.ugoe.cs.quest.usageprofiles.TrieBasedModel;
9
10/**
11 * <p>
12 * Command to train first-order and high-order Markov models.
13 * </p>
14 *
15 * @author Steffen Herbold
16 * @version 2.0
17 */
18public class CMDtrainMarkovModel extends AbstractTrainCommand {
19
20        /**
21         * <p>
22         * Order of the Markov model.
23         * </p>
24         */
25        int order;
26
27        /*
28         * (non-Javadoc)
29         *
30         * @see de.ugoe.cs.util.console.Command#help()
31         */
32        @Override
33        public String help() {
34                return "trainMarkovModel <modelname> <sequencesName> {<order>}";
35        }
36
37        /**
38         * <p>
39         * Handles the parameter order.
40         * </p>
41         *
42         * @see de.ugoe.cs.quest.commands.usage.AbstractTrainCommand#handleOptionalParameters(java.util.List)
43         */
44        @Override
45        void handleAdditionalParameters(List<Object> parameters) throws Exception {
46                if (parameters.size() >= 3) {
47                        order = Integer.parseInt((String) parameters.get(2));
48                } else {
49                        order = 1;
50                }
51        }
52
53        /*
54         * (non-Javadoc)
55         *
56         * @see de.ugoe.cs.quest.ui.commands.AbstractTrainCommand#createModel()
57         */
58        @Override
59        TrieBasedModel createModel() {
60                if (order == 1) {
61                        return new FirstOrderMarkovModel(new Random());
62                } else {
63                        return new HighOrderMarkovModel(order, new Random());
64                }
65        }
66
67}
Note: See TracBrowser for help on using the repository browser.