Package org.data2semantics.modules

Source Code of org.data2semantics.modules.LinearKernelExperimentModule

package org.data2semantics.modules;

import java.util.ArrayList;
import java.util.List;

import org.data2semantics.exp.utils.RDFLinearKernelExperiment;
import org.data2semantics.platform.annotation.Factory;
import org.data2semantics.platform.annotation.In;
import org.data2semantics.platform.annotation.Main;
import org.data2semantics.platform.annotation.Module;
import org.data2semantics.proppred.kernels.rdfgraphkernels.RDFWLSubTreeKernel;
import org.data2semantics.proppred.learners.evaluation.Accuracy;
import org.data2semantics.proppred.learners.evaluation.EvaluationFunction;
import org.data2semantics.proppred.learners.evaluation.F1;
import org.data2semantics.proppred.learners.liblinear.LibLINEARParameters;
import org.data2semantics.tools.rdf.RDFDataSet;
import org.openrdf.model.Resource;
import org.openrdf.model.Statement;
import org.openrdf.model.Value;

@Module(name="LinearKernelExperiment")
public class LinearKernelExperimentModule {
 
  private LibLINEARParameters linParms;
  private RDFDataSet dataset;
  private ArrayList<Resource> instances;
  private ArrayList<Value> labels;
  private ArrayList<Statement> blackList;
  private List<Double> target;
  private int seed;
  private int iteration;
  private int depth;
 
  public LinearKernelExperimentModule(
      LibLINEARParameters linParms,
      RDFDataSet dataset, ArrayList<Resource> instances,
      ArrayList<Value> labels, ArrayList<Statement> blackList,
      List<Double> target, int seed, int iteration, int depth
     
      ) {
    super();
    this.linParms = linParms;
    this.dataset = dataset;
    this.instances = instances;
    this.labels = labels;
    this.blackList = blackList;
    this.target = target;
    this.seed = seed;
    this.iteration = iteration;
    this.depth = depth;
  }

  @Factory
  public static LinearKernelExperimentModule getLinearKernelExperiment(
      @In(name="linParms") LibLINEARParameters linParms,
      @In(name="dataset") RDFDataSet dataset,
      @In(name="instances") ArrayList<Resource> instances,
      @In(name="labels") ArrayList<Value> labels,
      @In(name="blacklist"ArrayList<Statement> blackList,
      @In(name="target") List<Double> target,
      @In(name="seed") int seed,
      @In(name="iteration") int iteration,
      @In(name="depth") int depth
      ){
   
    return new LinearKernelExperimentModule(linParms, dataset, instances, labels, blackList, target, seed, iteration, depth);
  }
 
  @Main
  public void mainKernelMethod(){
   
    List<EvaluationFunction> evalFuncs = new ArrayList<EvaluationFunction>();
    evalFuncs.add(new Accuracy());
    evalFuncs.add(new F1());
    long[] seeds2={seed};
    System.out.println(dataset + " " + labels.size() + " " + instances.size() + " " + blackList.size());
   
    RDFLinearKernelExperiment exp = new RDFLinearKernelExperiment(new RDFWLSubTreeKernel(iteration, depth, true, true), seeds2, linParms, dataset, instances, target, blackList, evalFuncs);
   
    exp.setDoCV(true);
    exp.run();
   
    System.out.println(exp.getResults());
  }
}
TOP

Related Classes of org.data2semantics.modules.LinearKernelExperimentModule

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.