public static Map<String, List<String>> test( String test_data_file, Classifier model, int task, Map<String, Double> idfs) throws Exception { System.err.println("## Testing with feature_file=" + test_data_file + " ... \n"); Map<String, List<String>> ranked_queries = new HashMap<String, List<String>>(); Learner learner = null; if (task == 1) { learner = new PointwiseLearner(); } else if (task == 2) { double C = 1.0; double gamma = 0.25; boolean isLinearKernel = false; learner = new PairwiseLearner(C, gamma, isLinearKernel); } else if (task == 3) { double C = 1.0; double gamma = 0.25; boolean isLinearKernel = false; learner = new PairwiseAddedFeatures(C, gamma, isLinearKernel); } else if (task == 4) { /* * @TODO: Your code here, extra credit * */ System.err.println("Extra credit"); } /* Step (1): construct your test feature matrix here */ TestFeatures tf = learner.extract_test_features(test_data_file, idfs); /* Step (2): implement your prediction and ranking code here */ ranked_queries = learner.testing(tf, model); return ranked_queries; }
public static Classifier train( String train_data_file, String train_rel_file, int task, Map<String, Double> idfs) throws Exception { System.err.println( "## Training with feature_file =" + train_data_file + ", rel_file = " + train_rel_file + " ... \n"); Classifier model = null; Learner learner = null; if (task == 1) { learner = new PointwiseLearner(); } else if (task == 2) { double C = 1.0; double gamma = 0.25; // String line; // BufferedReader reader = new BufferedReader(new FileReader("svmtemp.txt")); // try { // line = reader.readLine(); // C = Double.parseDouble(line); // line = reader.readLine(); // gamma = Double.parseDouble(line); // } catch (Exception e) { // System.err.println("Error while getting C and gamma."); // System.exit(1); // } boolean isLinearKernel = false; learner = new PairwiseLearner(C, gamma, isLinearKernel); } else if (task == 3) { // boolean isLinearKernel = true; // learner = new PairwiseAddedFeatures(isLinearKernel); double C = 1.0; double gamma = 0.25; boolean isLinearKernel = false; String line; // BufferedReader reader = new BufferedReader(new FileReader("svmtemp.txt")); // try { // line = reader.readLine(); // C = Double.parseDouble(line); // line = reader.readLine(); // gamma = Double.parseDouble(line); // } catch (Exception e) { // System.err.println("Error while getting C and gamma."); // } learner = new PairwiseAddedFeatures(C, gamma, isLinearKernel); } else if (task == 4) { /* * @TODO: Your code here, extra credit * */ System.err.println("Extra credit"); } /* Step (1): construct your feature matrix here */ Instances data = learner.extract_train_features(train_data_file, train_rel_file, idfs); /* Step (2): implement your learning algorithm here */ model = learner.training(data); return model; }