Log in Help
Print
Homereleasesgate-5.1-beta2-build3402-ALLpluginsLearningsrcgatelearninglearnersweka 〉 KNNIBK.java
 
/*
 *  KNNIBK.java
 * 
 *  Yaoyong Li 22/03/2007
 *
 *  $Id: KNNIBK.java, v 1.0 2007-03-22 12:58:16 +0000 yaoyong $
 */
package gate.learning.learners.weka;

import gate.learning.LogService;
import weka.classifiers.lazy.IBk;
/** 
 * The KNN from Weka.
 */
public class KNNIBK extends WekaLearner {
  /** serialVersionUID. */
  private static final long serialVersionUID = 1L;
  /** The number of neighbours used in the KNN. */
  int kk = 1;
  /** Constructor for the KNN, with the default number of neighbours. */
  public KNNIBK() {
    if(LogService.minVerbosityLevel>0)
      System.out.println("For KNN, kk="+kk);
    wekaCl = new IBk(kk);
    learnerName = "KNN";
  }
  
  public KNNIBK(String options) {
    getParametersFromOptionsLine(options);
    if(LogService.minVerbosityLevel>0)
      System.out.println("For KNN, kk="+kk);
    wekaCl = new IBk(kk);
    learnerName = "KNN";
  }
  
  /** Get the parameter, number of the neighbours, of the KNN. */
  public void getParametersFromOptionsLine(String options) {
    String [] items = options.split("[ \t]+");
    for(int i=0; i<items.length; ++i)
      if(items[i].equals("-k") && i<items.length-1) {
        kk = Integer.parseInt(items[i+1]);
        break;
      }
  }
}