Example usage for weka.core Instance numAttributes

List of usage examples for weka.core Instance numAttributes

Introduction

In this page you can find the example usage for weka.core Instance numAttributes.

Prototype

public int numAttributes();

Source Link

Document

Returns the number of attributes.

Usage

From source file:tutorial.exampleMIMLInstances.java

License:Open Source License

public static void main(String[] args) {

    try {//  w  w  w .j av a2  s .  co  m

        // String arffFileName = Utils.getOption("f", args);
        // String xmlFileName = Utils.getOption("x", args);
        // String arffFileName = "data+File.separator+miml_text_data.arff";
        // String xmlFileName = "data+File.separator+miml_text_data.xml";

        String arffFileName = "data" + File.separator + "toy.arff";
        String xmlFileName = "data" + File.separator + "toy.xml";

        // Parameter checking
        if (arffFileName.isEmpty()) {
            System.out.println("Arff pathName must be specified.");
            showUse();
        }
        if (xmlFileName.isEmpty()) {
            System.out.println("Xml pathName must be specified.");
            showUse();
        }

        // Loads the dataset
        System.out.println("Loading the dataset....");
        MIMLInstances mimlDataSet = new MIMLInstances(arffFileName, xmlFileName);

        System.out.println("Number of bags: " + mimlDataSet.getNumBags());
        System.out.println("Number of Instances (bags): " + mimlDataSet.getNumInstances());
        System.out.println("Number of Labels: " + mimlDataSet.getNumLabels());
        System.out.println("Number of Attributes: " + mimlDataSet.getNumAttributes());
        System.out.println("Number of AttributesPerBag: " + mimlDataSet.getNumAttributesInABag());
        System.out
                .println("Number of AttributesWithRelational: " + mimlDataSet.getNumAttributesWithRelational());

        // Shows all bags in the dataset
        for (int i = 0; i < mimlDataSet.getNumBags(); i++) {
            Bag bag = null;

            // Recover a bag
            bag = mimlDataSet.getBag(i);
            System.out.println("Bag: " + i);
            System.out.println("\tNumInstances: " + bag.getNumInstances());
            System.out.println("\tNumAttributes: " + bag.numAttributes());
            System.out.println("\tAttributesInABag: " + bag.getNumAttributesInABag());
            System.out.println("\tAttributesWithRelational: " + bag.getNumAttributesWithRelational());

            // Shows all instances in the bag
            for (int j = 0; j < bag.getNumInstances(); j++) {
                // Recovers an instance
                Instance instance = mimlDataSet.getInstance(i, j);
                System.out.println("\t\tInstance: " + j + " NumAttributes: " + instance.numAttributes());
                for (int k = 0; k < instance.numAttributes(); k++)
                    System.out.println("\t\t\tAttribute " + k + ": " + instance.value(k));
            }
        }

        // Shows multi-label metrics
        MLStatistics statsML = new MLStatistics();
        statsML.calculateStats(mimlDataSet);
        System.out.println(statsML.toString());
        System.out.print("\n----------------------------");
        System.out.print("\nCoocurrences - dependences  ");
        System.out.print("\n----------------------------");
        statsML.calculateCoocurrence(mimlDataSet);
        System.out.println(statsML.coocurrenceToString());
        statsML.calculatePhiChi2(mimlDataSet);
        System.out.print("\nPhi correlation matrix");
        System.out.println(statsML.correlationsToString(statsML.getPhi()));
        System.out.print("\nChi correlation matrix");
        System.out.println(statsML.correlationsToString(statsML.getChi2()));
        System.out.println("\nPhi diagram: ");
        statsML.printPhiDiagram(0.05);

        // Shows mil metrics
        MILStatistics statsMIL = new MILStatistics();
        statsMIL.calculateStats(mimlDataSet.getDataSet());
        System.out.println(statsMIL.toString());

    } catch (InvalidDataFormatException e) {
        e.printStackTrace();
    } catch (Exception e) {

        e.printStackTrace();
    }

}

From source file:wekimini.DataGenerator.java

public double getInputValue(int index, int whichInput) {
    Instance in = trainingInputs.instance(index);
    if (in == null || in.numAttributes() < (whichInput + numMetaData)) {
        return Double.NaN;
    }//from   w  ww.j  av a 2  s  . c  o  m
    return in.value(whichInput + numMetaData);
}

From source file:wekimini.DataGenerator.java

public double getOutputValue(int index, int whichOutput) {
    Instance in = trainingOutputs.instance(index);
    if (in == null || in.numAttributes() < (whichOutput + numInputs + numMetaData)) {
        return Double.NaN;
    }/*from   ww w . ja va2  s. c o m*/
    return in.value(whichOutput + numInputs + numMetaData);
}

From source file:wekimini.DataGenerator.java

public double getDummyInputValue(int index, int whichInput) {
    Instance in = dummyInstances.instance(index);
    if (in == null || in.numAttributes() < (whichInput + numMetaData)) {
        return Double.NaN;
    }/*w w w. j  av  a  2s  .c  om*/
    return in.value(whichInput + numMetaData);
}

From source file:wekimini.DataGenerator.java

public double getDummyOutputValue(int index, int whichOutput) {
    Instance in = dummyInstances.instance(index);
    if (in == null || in.numAttributes() < (whichOutput + numInputs + numMetaData)) {
        return Double.NaN;
    }//from  ww  w.  j a  va2 s .c om
    return in.value(whichOutput + numInputs + numMetaData);
}

From source file:wekimini.DataGenerator.java

public double getTempInputValue(int index, int whichInput) {
    Instance in = tempInstances.instance(index);
    if (in == null || in.numAttributes() < (whichInput + numMetaData)) {
        return Double.NaN;
    }// ww w  .j  ava2s  . c om
    return in.value(whichInput + numMetaData);
}

From source file:wekimini.DataGenerator.java

public double getTempOutputValue(int index, int whichOutput) {
    Instance in = tempInstances.instance(index);
    if (in == null || in.numAttributes() < (whichOutput + numInputs + numMetaData)) {
        return Double.NaN;
    }//from www . ja v  a2  s  . c  o  m
    return in.value(whichOutput + numInputs + numMetaData);
}

From source file:wekimini.DataManager.java

public double getOutputValue(int index, int whichOutput) {
    Instance i = allInstances.instance(index);
    if (i == null || i.numAttributes() < (numInputs + numMetaData + whichOutput)) {
        return Double.NaN;
    }//  ww  w  . j  a  v a 2s  .  co m
    if (i.isMissing(numMetaData + numInputs + whichOutput)) {
        return Double.NaN;
    }
    return i.value(numMetaData + numInputs + whichOutput);
    /* if (i.attribute(numMetaData + numInputs + whichOutput).isNumeric()) {
     return i.value(numMetaData + numInputs + whichOutput);
     } else {
     //What we need to do if we allow classes that don't start at 1:
     //return Double.parseDouble(i.attribute(numMetaData + numInputs + whichOutput).value((int)i.value(numMetaData + numInputs + whichOutput)));
     return i.value(numMetaData + numInputs + whichOutput) + 1;
     } */
}

From source file:wekimini.DataManager.java

public double getInputValue(int index, int whichInput) {
    Instance i = allInstances.instance(index);
    if (i == null || i.numAttributes() < (whichInput + numMetaData)) {
        return Double.NaN;
    }/* www  .  j ava2s.  c o  m*/
    return i.value(whichInput + numMetaData);
}

From source file:wekimini.InputGenerator.java

public double getClusterInputValue(int index, int whichInput) {
    Instance in = clusters.instance(index);
    if (in == null || in.numAttributes() < (whichInput)) {
        return Double.NaN;
    }//  w  w w  .ja va2 s. c  o  m
    return in.value(whichInput);
}