Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.io.IOException;
- import weka.classifiers.Evaluation;
- import weka.classifiers.functions.supportVector.PolyKernel;
- import weka.core.Instances;
- import weka.core.converters.ArffLoader;
- public class SMO {
- Instances trainData;
- Instances testData;
- Instances loadArffData(String path){
- // load data
- ArffLoader loader = new ArffLoader();
- try {
- loader.setFile(new File(path));
- Instances structure = loader.getStructure();
- return structure;
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- }
- public void doSVMTest(){
- //trainData= loadArffData("I:\\Programs\\Weka\\Weka-3-6\\data\\faultvector.arff");
- //testData= loadArffData("I:\\Programs\\Weka\\Weka-3-6\\data\\test-fault.arff");
- // create new instance of scheme
- weka.classifiers.functions.SMO scheme = new weka.classifiers.functions.SMO();
- // set options
- try {
- //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\""));
- //scheme.buildClassifier(trainData);
- trainData = new Instances(
- new BufferedReader(new FileReader("I:\\Programs\\Weka\\Weka-3-6\\data\\faultvector.arff")));
- testData = new Instances(
- new BufferedReader(new FileReader("I:\\Programs\\Weka\\Weka-3-6\\data\\test-fault.arff")));
- trainData.setClassIndex(trainData.numAttributes() - 1);
- testData.setClassIndex(testData.numAttributes() - 1);
- PolyKernel kernel = new PolyKernel();
- String[] options = weka.core.Utils.splitOptions("-E "+ 4.5);
- kernel.setOptions(options);
- //SMO svm = new SMO();
- options = weka.core.Utils.splitOptions("-N 0 -V 5 -C 4");
- scheme.setOptions(options); //svm.setOptions(options);
- scheme.setKernel(kernel);
- scheme.buildClassifier(trainData);
- Evaluation eval = new Evaluation(trainData);
- eval.evaluateModel(scheme, testData);
- System.out.println(eval.toSummaryString("\nResults\n======\n", false));
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static void main(String[] args) throws Exception {
- SMO testsvm = new SMO();
- testsvm.doSVMTest();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement