Example usage for weka.core Instances setClassIndex

List of usage examples for weka.core Instances setClassIndex

Introduction

In this page you can find the example usage for weka.core Instances setClassIndex.

Prototype

public void setClassIndex(int classIndex) 

Source Link

Document

Sets the class index of the set.

Usage

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;
}