Example usage for weka.core Instance value

List of usage examples for weka.core Instance value

Introduction

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

Prototype

public double value(Attribute att);

Source Link

Document

Returns an instance's attribute value in internal format.

Usage

From source file:ai.GiniFunction.java

License:GNU General Public License

/**
 * Evaluate a single instance based on the current 
 * state of the split function//from w ww  .  j av a2s .  c o m
 * 
 * @param instance sample to evaluate
 * @return false if the instance is on the right of the splitting point, true if it's on the left 
 */
public boolean evaluate(Instance instance) {
    if (allSame)
        return true;
    else
        return instance.value(this.index) < this.threshold;
}

From source file:ANN.MultilayerPerceptron.java

@Override
public double classifyInstance(Instance i) {
    //buat list input
    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0);//from  ww w . ja  v  a 2  s . c o  m
    for (int idx = 0; idx < i.numAttributes() - 1; idx++) {
        listInput.add(i.value(idx));
    }

    //hitung output layer
    ArrayList<Double> hiddenOutput = new ArrayList<>();
    hiddenOutput.add(1.0);
    for (int idxOutput = 1; idxOutput < listHidden.size(); idxOutput++) {
        output(listHidden, listInput, idxOutput);
        hiddenOutput.add(listHidden.get(idxOutput).getValue());
        //                        System.out.println(outputVal);
    }
    //hitung output layer
    for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) {
        output(listOutput, hiddenOutput, idxOutput);
    }
    double result = maxIdxValue(listOutput);
    return result;
}

From source file:ANN.MultiplePerceptron.java

@Override
public double classifyInstance(Instance i) {
    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0);//from w w  w.j a  v a  2 s.c o  m
    for (int idxInstanceVal = 0; idxInstanceVal < i.numAttributes() - 1; idxInstanceVal++) {
        listInput.add(i.value(idxInstanceVal));
    }

    ArrayList<Double> listOutputHidden = new ArrayList<>();
    listOutputHidden.add(1.0);
    //set output hidden layer
    for (int idxNodeHidden = 1; idxNodeHidden < listNodeHidden.size(); idxNodeHidden++) {
        double outputVal = listNodeHidden.get(idxNodeHidden).output(listInput);
        listNodeHidden.get(idxNodeHidden).setValue(outputVal);
        listOutputHidden.add(outputVal);
    }

    //set output layer
    for (int idxNodeHidden = 0; idxNodeHidden < listNodeOutput.size(); idxNodeHidden++) {
        double outputVal = listNodeOutput.get(idxNodeHidden).output(listOutputHidden);
        listNodeOutput.get(idxNodeHidden).setValue(outputVal);
        //            System.out.printf("%f ", outputVal);
    }
    //        System.out.println();
    return getIdxMax(listNodeOutput);
}

From source file:ANN.MultiplePerceptron.java

public void calculateWeight(Instance i) {

    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0);// w  ww . jav a  2 s.  c om
    for (int idxInstanceVal = 0; idxInstanceVal < i.numAttributes(); idxInstanceVal++) {
        listInput.add(i.value(idxInstanceVal));
    }

    //set weight hidden
    //        for (int index = 0; index < listNodeHidden.size();index++) {
    //            for (int indexDalem = 0 ; indexDalem < listNodeHidden.get(index).getWeightSize();indexDalem++) {
    //                double delta = learningRate*listNodeHidden.get(index).getError()*listInput.get(indexDalem);
    //                double newWeight = delta + listNodeHidden.get(index).getWeightFromList(indexDalem);
    //                listNodeHidden.get(index).setWeight(indexDalem, newWeight);
    ////                System.out.println(index+" "+indexDalem+" "+newWeight);
    //            }
    //        }
    for (int idxHidden = 0; idxHidden < listNodeHidden.size(); idxHidden++) {
        for (int idxweight = 0; idxweight < listNodeHidden.get(idxHidden).getWeightSize(); idxweight++) {
            double oldVal = listNodeHidden.get(idxHidden).getWeightFromList(idxweight);
            //                System.out.println(oldVal);
            oldVal += learningRate * listInput.get(idxweight) * listNodeHidden.get(idxHidden).getError();
            listNodeHidden.get(idxHidden).setWeight(idxweight, oldVal);
            //                System.out.println(listNodeHidden.get(idxHidden).getWeightFromList(idxweight));
        }
    }
    //        System.out.println(listNodeOutput.get(0).getWeightSize()+" "+listOutputHidden);
    //set weight output
    for (int index = 0; index < listNodeOutput.size(); index++) {
        for (int indexDalem = 0; indexDalem < listNodeHidden.size(); indexDalem++) {
            double delta = learningRate * listNodeOutput.get(index).getError()
                    * listNodeHidden.get(indexDalem).getValue();
            double newWeight = delta + listNodeOutput.get(index).getWeightFromList(indexDalem);
            listNodeOutput.get(index).setWeight(indexDalem, newWeight);
            //                System.out.println(newWeight);
        }
    }
    //        for (int idxOutput=0; idxOutput < listNodeOutput.size(); idxOutput++) {
    //            for (int idxweight=0;idxweight<listNodeOutput.get(idxOutput).getWeightSize();idxweight++) {
    //                double oldVal = listNodeOutput.get(idxOutput).getWeightFromList(idxweight);
    //                oldVal += learningRate*listOutputHidden.get(idxweight) * listNodeOutput.get(idxOutput).getError();
    //                listNodeOutput.get(idxOutput).setWeight(idxweight, oldVal);
    //            }
    //        }

}

From source file:ann.MyANN.java

/**
 * mengubah Instance menjadi Data//  www. ja v a2s . c  o  m
 * @param instance Instance yang akan diubah menjadi kelas Data
 * @return kelas Data dari input
 */
private Data instanceToData(Instance instance) {
    ArrayList<Double> input = new ArrayList<>();
    ArrayList<Double> target = new ArrayList<>();
    for (int j = 0; j < instance.numAttributes() - 1; j++) {
        input.add(0.0);
    }
    if (instance.classAttribute().isNominal()) {
        for (int j = 0; j < instance.classAttribute().numValues(); j++) {
            target.add(0.0);
        }
    } else {
        target.add(0.0);
    }
    for (int j = 0; j < instance.numAttributes(); j++) {
        if (j == instance.classIndex()) {
            if (instance.attribute(j).isNominal())
                target.set((int) instance.value(j), 1.0);
            else
                target.add(instance.value(j));
        } else {
            input.set(j, instance.value(j));
        }
    }
    return new Data(input, target);
}

From source file:ann.SingleLayerPerceptron.java

public double classifyInstance(Instance inst) throws Exception {
    double instanceClass = 0.0;

    ntb.input(inst);//from  w w w.j a  v  a  2s.  c o  m
    inst = ntb.output();
    normalize.input(inst);
    inst = normalize.output();
    System.out.println(inst.toString());
    int outputSize = output.size();
    double[] result = new double[outputSize];
    for (int j = 0; j < outputSize; j++) {
        result[j] = 0.0;
        for (int k = 0; k < inst.numAttributes(); k++) {
            double input = 1;
            if (k < inst.numAttributes() - 1) {
                input = inst.value(k);
            }
            System.out.println(output.get(j).weights.get(k) + "*" + input);
            result[j] += output.get(j).weights.get(k) * input;
        }
        result[j] = Util.activationFunction(result[j], annOptions);
    }

    if (outputSize >= 2) {
        for (int j = 0; j < outputSize; j++) {
            System.out.print(result[j] + "-");
            if (result[j] > result[(int) instanceClass]) {

                instanceClass = j;
                System.out.println(instanceClass);
            }
        }
    } else {
        instanceClass = (int) result[0];
    }

    return instanceClass;
}

From source file:anndl.Anndl.java

private void ClassifyInstance(String fileinput) throws Exception {
    System.out.println("Membaca File Model ..");
    Classifier cls = (Classifier) weka.core.SerializationHelper.read(fileinput);

    System.out.println("Masukan Data yang ingin diklasifikasikan, pisahkan dengan spasi :");
    String testset = scanner.nextLine();
    testset = "1 1 0";
    String[] exploded = testset.split(" ");

    Instance newinstance = new Instance(exploded.length);
    for (int i = 0; i < exploded.length; i++) {
        String exploded1 = exploded[i];
        System.out.println(exploded[i] + ";");

        newinstance.setValue(i, Integer.valueOf(exploded[i]));
    }// ww  w.  j av  a  2 s .com

    System.out.println("Melakukan klasifikasi ... ");
    double result = cls.classifyInstance(newinstance);
    System.out.println("Data ini:");
    System.out.println(testset);
    System.out.println("memiliki label :");
    System.out.println(newinstance.value(newinstance.classIndex()));
}

From source file:ANN_Single.SinglelayerPerceptron.java

@Override
public double classifyInstance(Instance i) {
    //buat list input
    System.out.println("classify");
    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0);//from   w w  w  .j av  a  2s  .  c om
    for (int idx = 0; idx < i.numAttributes() - 1; idx++) {
        listInput.add(i.value(idx));
    }

    //hitung output layer
    for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) {
        outputC(listInput, idxOutput);
        //           listOutput.get(idxOutput).output(listInput);
        //           listOutput.get(idxOutput).setValue(outputVal);
        //           System.out.println(idxOutput+" "+outputVal);
        //            System.out.print(listOutput.get(idxOutput).getValue()+" ");
    }
    System.out.println();
    double result = maxIdxValue(listOutput);
    //       System.out.println(result+" "+i.stringValue(i.classIndex()));
    System.out.println("end c");
    return result;
}

From source file:ANN_single2.MultilayerPerceptron.java

@Override
public double classifyInstance(Instance i) {
    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0); //ini untuk bias
    for (int ins = 0; ins < i.numAttributes() - 1; ins++) {
        listInput.add(i.value(ins));
    }/*from   w w w  .  jav  a  2 s . c om*/

    ArrayList<Double> listHide = new ArrayList<>();
    listHide.add(1.0);
    //Hitung output hidden layer
    for (int idxHidden = 1; idxHidden < listHidden.size(); idxHidden++) {
        output(listHidden, listInput, idxHidden);
        listHide.add(listHidden.get(idxHidden).getValue());
    }

    //Hitung ouput output lyer
    for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) {
        output(listOutput, listHide, idxOutput);
    }
    return maxValue();
}

From source file:ANN_single2.SinglelayerPerceptron.java

@Override
public double classifyInstance(Instance i) {
    ArrayList<Double> listInput = new ArrayList<>();
    listInput.add(1.0); //ini bias
    for (int idx = 0; idx < i.numAttributes() - 1; idx++) {
        listInput.add(i.value(idx));
    }/*from   w w w  .ja  va  2s  .c  o m*/

    //Hitung output rumus = sigmoid dari sigma
    for (int idxOut = 0; idxOut < listOutput.size(); idxOut++) {
        output(listInput, idxOut);
    }
    return maxValue();
}