Advertisement
Guest User

Untitled

a guest
May 29th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.File;
  3. import java.io.FileReader;
  4. import java.io.IOException;
  5.  
  6. import weka.classifiers.Evaluation;
  7. import weka.classifiers.functions.supportVector.PolyKernel;
  8. import weka.core.Instances;
  9. import weka.core.converters.ArffLoader;
  10.  
  11. public class SMO {
  12.    
  13.     Instances trainData;
  14.     Instances testData;
  15.  
  16.     Instances loadArffData(String path){
  17.         // load data
  18.         ArffLoader loader = new ArffLoader();
  19.         try {
  20.             loader.setFile(new File(path));
  21.             Instances structure = loader.getStructure();
  22.             return structure;
  23.         } catch (Exception e) {
  24.             // TODO Auto-generated catch block
  25.             e.printStackTrace();
  26.         }
  27.         return null;
  28.        
  29.     }
  30.    
  31.     public void doSVMTest(){
  32.         //trainData= loadArffData("I:\\Programs\\Weka\\Weka-3-6\\data\\faultvector.arff");
  33.         //testData= loadArffData("I:\\Programs\\Weka\\Weka-3-6\\data\\test-fault.arff");
  34.          // create new instance of scheme
  35.          weka.classifiers.functions.SMO scheme = new weka.classifiers.functions.SMO();
  36.          // set options
  37.          try {
  38.             //scheme.setOptions(weka.core.Utils.splitOptions("-C 1.0 -L 0.0010 -P 1.0E-12 -N 0 -V -1 -W 1 -K \"weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0\""));
  39.             //scheme.buildClassifier(trainData);
  40.              trainData = new Instances(
  41.                      new BufferedReader(new FileReader("I:\\Programs\\Weka\\Weka-3-6\\data\\faultvector.arff")));
  42.              testData = new Instances(
  43.                      new BufferedReader(new FileReader("I:\\Programs\\Weka\\Weka-3-6\\data\\test-fault.arff")));
  44.              trainData.setClassIndex(trainData.numAttributes() - 1);
  45.              testData.setClassIndex(testData.numAttributes() - 1);
  46.             PolyKernel kernel = new PolyKernel();  
  47.             String[] options = weka.core.Utils.splitOptions("-E "+ 4.5);
  48.             kernel.setOptions(options);
  49.             //SMO svm = new SMO();
  50.             options = weka.core.Utils.splitOptions("-N 0 -V 5 -C 4");
  51.             scheme.setOptions(options); //svm.setOptions(options);
  52.             scheme.setKernel(kernel);
  53.             scheme.buildClassifier(trainData);
  54.            
  55.             Evaluation eval = new Evaluation(trainData);
  56.             eval.evaluateModel(scheme, testData);
  57.              System.out.println(eval.toSummaryString("\nResults\n======\n", false));
  58.          } catch (Exception e) {
  59.             // TODO Auto-generated catch block
  60.             e.printStackTrace();
  61.         }
  62.     }
  63.    
  64.      public static void main(String[] args) throws Exception {
  65.          SMO testsvm = new SMO();
  66.          testsvm.doSVMTest();
  67.      }
  68.    
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement