List of usage examples for weka.core Instances setClassIndex
public void setClassIndex(int classIndex)
From source file:boa.aggregators.DecisionTreeAggregator.java
License:Apache License
/** {@inheritDoc} */ @Override/*w ww . ja v a 2 s . c om*/ public void finish() throws IOException, InterruptedException { int NumOfAttributes = this.getVectorSize(); List<Attribute> attributes = new ArrayList<Attribute>(); FastVector fvAttributes = new FastVector(NumOfAttributes); for (int i = 0; i < NumOfAttributes; i++) { attributes.add(new Attribute("Attribute" + i)); fvAttributes.addElement(attributes.get(i)); } Instances trainingSet = new Instances("DecisionTree", fvAttributes, 1); trainingSet.setClassIndex(NumOfAttributes - 1); for (List<Double> vector : this.vectors.values()) { Instance instance = new Instance(NumOfAttributes); for (int i = 0; i < vector.size(); i++) { instance.setValue((Attribute) fvAttributes.elementAt(i), vector.get(i)); } trainingSet.add(instance); } try { this.model = new J48(); this.model.setOptions(options); this.model.buildClassifier(trainingSet); } catch (Exception ex) { } this.saveModel(this.model); }
From source file:boa.aggregators.LinearRegressionAggregator.java
License:Apache License
/** {@inheritDoc} */ @Override// w ww . j a v a 2 s .c o m public void finish() throws IOException, InterruptedException { int NumOfAttributes = this.getVectorSize(); List<Attribute> attribute = new ArrayList<Attribute>(); FastVector fvAttributes = new FastVector(NumOfAttributes); for (int i = 0; i < NumOfAttributes; i++) { attribute.add(new Attribute("Attribute" + i)); fvAttributes.addElement(attribute.get(i)); } Instances trainingSet = new Instances("LinearRegression", fvAttributes, 1); trainingSet.setClassIndex(NumOfAttributes - 1); for (List<Double> vector : this.vectors.values()) { Instance instance = new Instance(NumOfAttributes); for (int i = 0; i < vector.size(); i++) { instance.setValue((Attribute) fvAttributes.elementAt(i), vector.get(i)); } trainingSet.add(instance); } try { this.model = new LinearRegression(); this.model.setOptions(options); this.model.buildClassifier(trainingSet); } catch (Exception ex) { } this.saveModel(this.model); }
From source file:boa.aggregators.NaiveBayesAggregator.java
License:Apache License
/** {@inheritDoc} */ @Override/*from w w w. j av a 2 s .co m*/ public void finish() throws IOException, InterruptedException { Instances trainingSet = new Instances("NaiveBayes", fvAttributes, 1); trainingSet.setClassIndex(NumOfAttributes - 1); for (List<Double> vector : this.vectors.values()) { Instance instance = new Instance(NumOfAttributes); for (int i = 0; i < vector.size(); i++) { instance.setValue((Attribute) fvAttributes.elementAt(i), vector.get(i)); } trainingSet.add(instance); } try { this.model = new NaiveBayes(); this.model.setOptions(options); this.model.buildClassifier(trainingSet); } catch (Exception ex) { } this.saveModel(this.model); }
From source file:boa.aggregators.RandomForestAggregator.java
License:Apache License
/** {@inheritDoc} */ @Override//from w w w.j a va 2 s . c om public void finish() throws IOException, InterruptedException { int NumOfAttributes = this.getVectorSize(); List<Attribute> attributes = new ArrayList<Attribute>(); FastVector fvAttributes = new FastVector(NumOfAttributes); for (int i = 0; i < NumOfAttributes; i++) { attributes.add(new Attribute("Attribute" + i)); fvAttributes.addElement(attributes.get(i)); } Instances trainingSet = new Instances("RandomForest", fvAttributes, 1); trainingSet.setClassIndex(NumOfAttributes - 1); for (List<Double> vector : this.vectors.values()) { Instance instance = new Instance(NumOfAttributes); for (int i = 0; i < vector.size(); i++) { instance.setValue((Attribute) fvAttributes.elementAt(i), vector.get(i)); } trainingSet.add(instance); } try { this.model = new RandomForest(); this.model.setOptions(options); this.model.buildClassifier(trainingSet); } catch (Exception ex) { } this.saveModel(this.model); }
From source file:boa.functions.BoaIntrinsics.java
License:Apache License
/** * Classify instances for given ML model * * @param Take Model Type/*from w w w . j a v a 2 s . c o m*/ * @return Predicted value for a instance */ @FunctionSpec(name = "classify", returnType = "float", formalParameters = { "Model", "array of float" }) public static double classify(final Object model, final double[] vector) throws Exception { List<Attribute> attribute = new ArrayList<Attribute>(); int size = vector.length; int NumOfAttributes = size + 1; FastVector fvAttributes = new FastVector(NumOfAttributes); for (int i = 0; i < NumOfAttributes; i++) { attribute.add(new Attribute("Attribute" + i)); fvAttributes.addElement(attribute.get(i)); } Instances testingSet = new Instances("Classifier", fvAttributes, 1); testingSet.setClassIndex(NumOfAttributes - 1); Instance instance = new Instance(NumOfAttributes); for (int i = 0; i < size; i++) { instance.setValue((Attribute) fvAttributes.elementAt(i), vector[i]); } Classifier classifier = (Classifier) model; double predval = classifier.classifyInstance(instance); return predval; }
From source file:boostingPL.boosting.AdaBoost.java
License:Open Source License
public static void main(String[] args) throws Exception { java.io.File inputFile = new java.io.File( "/home/aax/xpShareSpace/dataset/single-class/+winered/winequality-red.datatrain1.arff"); ArffLoader atf = new ArffLoader(); atf.setFile(inputFile);// www .j a v a 2 s.c o m Instances training = atf.getDataSet(); training.setClassIndex(training.numAttributes() - 1); AdaBoost adaBoost = new AdaBoost(training, 100); for (int t = 0; t < 100; t++) { adaBoost.run(t); } java.io.File inputFilet = new java.io.File( "/home/aax/xpShareSpace/dataset/single-class/+winered/winequality-red.datatest1.arff"); ArffLoader atft = new ArffLoader(); atft.setFile(inputFilet); Instances testing = atft.getDataSet(); testing.setClassIndex(testing.numAttributes() - 1); Evaluation eval = new Evaluation(testing); for (Instance inst : testing) { eval.evaluateModelOnceAndRecordPrediction(adaBoost, inst); } System.out.println(eval.toSummaryString()); System.out.println(eval.toClassDetailsString()); System.out.println(eval.toMatrixString()); /* int right = 0; for (int i = 0; i < testing.numInstances(); i++) { Instance inst = testing.instance(i); if (adaBoost.classifyInstance(inst) == inst.classValue()) { right++; } } System.out.println(right); System.out.println((double)right/training.numInstances()); */ }
From source file:boostingPL.boosting.InstancesHelper.java
License:Open Source License
/** * create instances header from metadata, * the metadata like this://w ww . j av a 2s. c om * * <br/> * <p>attributesNum:100</p> * <p>classes:+1,-1</p> * <br/> * * @param in * @return * @throws IOException */ public static Instances createInstancesFromMetadata(LineReader in) throws IOException { int attributesNum = 0; ArrayList<Attribute> attInfo = null; List<String> classItems = null; Text line = new Text(); while (in.readLine(line) > 0) { String sline = line.toString(); if (sline.startsWith("attributesNum:")) { attributesNum = Integer.parseInt(sline.substring(14)); attInfo = new ArrayList<Attribute>(attributesNum + 1); for (int i = 0; i < attributesNum; i++) { attInfo.add(new Attribute("attr" + i)); } System.out.println("AttributeNum:" + attributesNum); } else if (sline.startsWith("classes:")) { String classes = sline.substring(8); String[] citems = classes.split(","); classItems = new ArrayList<String>(citems.length); for (String s : citems) { classItems.add(s); } System.out.println("classes:" + classes); } } attInfo.add(new Attribute("class", classItems)); Instances insts = new Instances("BoostingPL-dataset", attInfo, 0); insts.setClassIndex(insts.numAttributes() - 1); return insts; }
From source file:boostingPL.boosting.InstancesHelper.java
License:Open Source License
/** * create instances header from a instance * /*from w ww .j a va2 s. com*/ * @param instance * @return instances */ public static Instances createInstances(String text) { String[] items = text.split(" "); ArrayList<Attribute> attInfo = new ArrayList<Attribute>(); for (int i = 0; i < items.length - 1; i++) { attInfo.add(new Attribute("attr" + i)); } List<String> classItems = new ArrayList<String>(2); classItems.add("1"); classItems.add("-1"); attInfo.add(new Attribute("class", classItems)); Instances insts = new Instances("BoostingPL-dataset", attInfo, 0); insts.setClassIndex(insts.numAttributes() - 1); return insts; }
From source file:boostingPL.boosting.SAMME.java
License:Open Source License
public static void main(String[] args) throws Exception { java.io.File inputFile = new java.io.File(args[0]); ArffLoader atf = new ArffLoader(); atf.setFile(inputFile);/*from ww w .j a v a2s .com*/ Instances training = atf.getDataSet(); training.setClassIndex(training.numAttributes() - 1); //Instances testing = new Instances(training); int iterationNum = 100; SAMME samme = new SAMME(training, iterationNum); for (int t = 0; t < iterationNum; t++) { samme.run(t); } java.io.File inputFilet = new java.io.File(args[1]); ArffLoader atft = new ArffLoader(); atft.setFile(inputFilet); Instances testing = atft.getDataSet(); testing.setClassIndex(testing.numAttributes() - 1); Evaluation eval = new Evaluation(testing); for (Instance inst : testing) { eval.evaluateModelOnceAndRecordPrediction(samme, inst); } System.out.println(eval.toSummaryString()); System.out.println(eval.toClassDetailsString()); System.out.println(eval.toMatrixString()); }
From source file:br.com.edu.arff.LoadArff.java
public ArrayList<Cluster> carregarArff(String caminho) throws FileNotFoundException, IOException { BufferedReader reader = new BufferedReader(new FileReader(caminho)); ArffReader arff = new ArffReader(reader); Instances data = arff.getData(); data.setClassIndex(data.numAttributes() - 1); Instance inst = null;//from w w w. ja va 2 s .c om Attribute att = data.attribute("Cluster"); ArrayList<String> uris; ArrayList<Cluster> lista = new ArrayList<Cluster>(); Fuseki fuseki = new Fuseki(); uris = fuseki.buscaURIS(); for (int i = 0; i <= data.numInstances() - 1; i++) { Cluster cluster = new Cluster(); String clusters = String.valueOf(data.get(i).stringValue(att)); cluster.setUri(uris.get(i)); cluster.setGrupo(clusters); lista.add(cluster); } // for (Cluster c : lista) { // System.out.println(c.getUri()); // System.out.println(c.getGrupo()); // } return lista; }